간편결제, 신용카드 청구할인
카카오페이 3,000원
(카카오페이 5만원 이상 결제시, 5/1~5/31 기간 중 1회)
삼성카드 6% (16,920원)
(삼성카드 6% 청구할인)
인터파크 롯데카드 5% (17,100원)
(최대할인 10만원 / 전월실적 40만원)
북피니언 롯데카드 30% (12,600원)
(최대할인 3만원 / 3만원 이상 결제)
NH쇼핑&인터파크카드 20% (14,400원)
(최대할인 4만원 / 2만원 이상 결제)
Close

해들리 위컴의 R 패키지 : 코드를 작성하고, 테스트하고, 문서화하고, 공유하라

원제 : R Packages: Organize, Test, Document, and Share Your Code
소득공제

2013년 9월 9일 이후 누적수치입니다.

공유하기
정가

20,000원

  • 18,000 (10%할인)

    1,000P (5%적립)

할인혜택
적립혜택
  • I-Point 적립은 마이페이지에서 직접 구매확정하신 경우만 적립 됩니다.
추가혜택
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서

  • 상품권

AD

책소개

자신의 R 패키지를 작성하려는 사람을 위한 최적의 안내서!

자신의 R 코드를 다른 사람들이 쉽게 다운로드하고 사용할 수 있는 패키지로 전환하라. 이 책은 해들리 위컴의 실용적인 패키지 개발 철학에 따라 재사용 가능한 R 함수, 예제 데이터, 그리고 문서를 함께 묶는 방법을 보여준다. 이 과정에서 devtools, roxygen, 그리고 공통적인 개발 업무를 자동화하는 패키지 집합인 testthat을 배우게 된다. devtools는 해들리가 이 프로그래밍 언어로 작업하면서 얻은 수년간의 경험에서 체득한 모범 사례를 집대성한 것이다.

다양한 배경을 가진 개발자, 데이터 과학자, 그리고 프로그래머에게 이상적인 이 책은 기초부터 시작하여 순차적으로 패키지 작성 역량을 개선할 수 있도록 도와준다. 따라서 여러분은 패키지 구조에 대한 고민 없이 패키지로 하고자 하는 것에만 집중할 수 있을 것이다.

출판사 서평

이 책의 주요 내용
* 비그넷과 단위 테스트를 포함하여 R 패키지에서 가장 유용한 구성 요소
* 가능한 모든 것을 자동화하기 위한 devtools 활용 방법
* 함수를 파일로 구성하는 것처럼 좋은 스타일에 대한 팁
* devtools로 개발 프로세스를 능률화하는 방법
* 포괄적 R 아카이브 네트워크(CRAN)에 자신의 패키지를 제출하는 최선의 방법
* ggplot2, dplyr, 그리고 tidyr을 포함한 30개의 R 패키지를 개발한, R 커뮤니티 핵심 인물의
수준 높은 경험

추천사

이 책은 실용적이며, R을 이용하여 고품질 소프트웨어를 구축하기 위한 실질적인 안내서이다. ‘다음 레벨에 도달하기’ 위해 노력하는 R 프로그래머라면 누구나 이 책을 읽기 바란다.

목차

옮긴이 머리말
이 책에 대하여
베타리더 후기

1부 시작하기_1
1장 서론_3
철학 4
시작하기 5
편집 규칙 6
출간 방법 7

2장 패키지 구조_8
패키지 이름 짓기 8
패키지 만들기 10
RStudio 프로젝트 12
패키지란 무엇인가? 15
라이브러리란 무엇인가? 20

2부 패키지 구성요소_23
3장 R 코드_25
R 코드 워크플로 25
사용자 함수 구성하기 26
코드 스타일 27
고수준 코드 32
CRAN 노트 37

4장 패키지 메타데이터_39
의존성: 패키지가 필요로 하는 것은 무엇인가? 40
Title과 Description: 자신이 만든 패키지가 하는 역할은 무엇인가? 44
Author: 저자는 누구인가? 45
라이선스: 패키지를 사용할 수 있는 사람은 누구인가? 47
버전 49
다른 구성요소 50

5장 객체 문서화_52
문서화 워크플로 53
대안적 문서화 워크플로 55
roxygen 주석 56
함수 문서화 59
데이터 세트 문서화 60
패키지 문서화 61
클래스, 제너릭, 그리고 메서드 문서화 61
특수문자 65
반복 작업 65
텍스트 포맷 참조 시트 68

6장 비네트: 길이가 긴 문서_71
비네트 워크플로 72
메타데이터 73
Markdown 74
knitr 78
개발 사이클 81
비네트 작성을 위한 조언 82
CRAN 노트 83
다음에 할 것 84

7장 테스트하기_85
테스트 워크플로 87
테스트 구조 88
익스펙테이션 89
테스트 작성 91
테스트 파일 96
CRAN 노트 96

8장 네임스페이스_97
동기 97
검색 경로 99
네임스페이스 101
워크플로 103
Exports 103
Imports 106
컴파일된 함수 108

9장 외부 데이터_109
내보내진 데이터 110
내부 데이터 112
원시 데이터 112
다른 데이터 113
CRAN 노트 114

10장 컴파일된 코드_115
C++ 116
C 120
컴파일된 코드의 디버깅 128
makefiles 130
다른 언어 131
라이선싱 131
개발 워크플로 132
CRAN과 관련된 문제 132

11장 설치된 파일_134
패키지 인용 135
다른 언어 137

12장 다른 구성요소_138
데모 139

3부 모범 사례_141
13장 Git과 GitHub_143
RStudio, Git, 그리고 GitHub 145
초기 설정 146
로컬 Git 레포지토리 생성 147
변경 사항 확인 149
변경 사항 기록 150
커밋 모범 사례 153
파일 무시 154
실수 되돌리기 155
GitHub와 동기화 157
GitHub 사용의 이점 158
다른 사람과 작업하기 160
이슈 162
브랜치 162
풀 리퀘스트 만들기 164
다른 레포에 풀 리퀘스트 제출하기 166
풀 리퀘스트의 검토와 수락 168
더 알아보기 169

14장 자동화된 검사_171
워크플로 171
검사 173
Travis로 모든 커밋 이후 검사하기 186

15장 패키지 릴리스_189
버전 번호 190
이전 버전과의 호환성 190
제출 과정 193
CRAN 정책 197
중요한 파일 198
릴리스 201
실패한 경우 202
패키지 게시 204
축하한다! 204

찾아보기 206

본문중에서

이 책은 자동화할 수 있는 것은 자동화해야 한다는 패키지 개발에 대한 필자의 철학을 담고 있다. 손으로 하는 작업은 가급적 줄이고 함수로 대체하라. 목표는 패키지 구조에 대한 세세한 사항에 대해 고심하는 것이 아니라 패키지에 필요한 기능이 무엇인지 생각하는 데 더 많은 시간을 할애하는 것이다. _4p

비네트(vignette)는 길이가 긴 패키지 설명서이다. 함수 문서는 필요한 함수의 이름을 알고 있는 경우에는 매우 유용하지만, 그렇지 않으면 쓸모가 없다. 비네트는 책의 장(chapter)이나 학술 논문 같은 것으로, 패키지가 해결하도록 설계된 문제를 설명하고 독자에게 그 해결 방법을 보여준다. 비네트는 유용한 범주로 함수를 구분하고 문제를 해결하기 위해 여러 함수를 조절하는 방법을 보여준다. 비네트는 패키지의 세부 사항을 설명하려는 경우에도 유용하다. 예를 들어, 복잡한 통계 알고리즘을 구현한 경우, 패키지의 사용자가 상황을 이해하고 알고리즘을 올바르게 구현했는지 확인할 수 있도록 모든 세부 정보를 비네트에 기술할 수 있다. _71p

때로는 테스트를 수행하는 것이 불가능하다. 왜냐하면 인터넷에 연결되어 있지 않거나 중요한 파일이 누락되었을 수 있기 때문이다. 불행히도 다른 가능성 있는 이유는 간단한데, 즉, 코드를 작성하는 데 사용하는 머신이 많을수록 모든 테스트를 실행하지 않을 가능성이 커진다는 것이다. 간단히 말해서, 테스트에 실패를 경험하기보다 건너뛰고 싶을 때가 있다. 이를 위해 skip() 함수를 사용할 수 있다. 이 함수는 오류를 내기보다는 단순히 출력에 S를 인쇄한다. _93p

이 보고서는 EXC_BAD_ACCESS 때문에 충돌이 발생했다는 것을 알려준다. 이와 같은 충돌은 C/C++ 코드에서 가장 일반적인 유형 중 하나이다. lldb는 문제를 일으킨 C++ 코드 줄을 정확히 보여준다. 즉, vw-distance.cpp:54를 말한다. 흔히 문제가 발생한 곳을 아는 것만으로 문제를 해결할 수 있다. 그러나 현재 대화식 프롬프트에 있기도 하다. 이 프롬프트에서 진행 내용을 알아보기 위해 실행할 수 있는 명령이 많이 있다. 가장 유용한 것들은 다음과 같다. _129p

이제 Git을 설치하고 구성했으므로 사용할 수 있다! 패키지로 GitHub를 사용하려면 로컬 레포지토리(짧게 레포(repo)라고 함)를 초기화해야 한다. 이렇게 하면 구성 파일을 저장하는 .git 디렉터리와 코드의 변경 사항을 기록하는 데이터베이스가 만들어진다. 새로운 저장소는 컴퓨터에만 존재하는 것인데, 곧 다른 사람들과 공유하는 법을 배울 것이다. _147p

자신의 패키지가 R 커뮤니티에서 관심을 끌고자 한다면 CRAN에 패키지를 제출해야 한다. CRAN에 제출하는 것은 GitHub에 제공하는 것보다 훨씬 큰 작업이지만, CRAN은 검색 가능성, 설치 용이성, 그리고 신뢰성 증명을 제공하므로 대부분의 R 사용자는 GitHub에서 패키지를 설치하지 않는다. CRAN 제출 과정은 실망스러울 수 있지만 가치 있으며, 이 장은 가능한 한 그 어려움을 덜어줄 것이다. _189p

저자소개

해들리 위컴 [저] 신작알림 SMS신청
생년월일 -

해들리 위컴은 RStudio의 수석 과학자이자 R 재단의 회원이다.
데이터 과학 패키지(tidyverse, ggplot2, dplyr, tidyr, purr, readr)와 주요 소프트웨어(roxygen2, testthat, devtools)를 개발한 그는 데이터 과학을 더 쉽고 빠르며 재미있게 해주는 (프로그래밍 및 인지) 도구를 만들고 있다. 또한 저자, 교육자, 강연자로서 데이터 과학에 R 사용을 권장하며 활동하고 있다.

저자의 다른책

전체보기
정우준 [역] 신작알림 SMS신청
생년월일 -

해당작가에 대한 소개가 없습니다.

전공도서/대학교재 분야에서 많은 회원이 구매한 책

    리뷰

    10.0 (총 0건)

    구매 후 리뷰 작성 시, 북피니언 지수 최대 600점

    리뷰쓰기

    기대평

    작성시 유의사항

    평점
    0/200자
    등록하기

    기대평

    0.0

    판매자정보

    • 인터파크도서에 등록된 오픈마켓 상품은 그 내용과 책임이 모두 판매자에게 있으며, 인터파크도서는 해당 상품과 내용에 대해 책임지지 않습니다.

    판매자

    (주)교보문고

    상호

    (주)교보문고

    사업자 종류

    법인사업자

    사업자번호

    102-81-11670

    연락처

    1544-1900

    이메일

    callcenter@kyobobook.co.kr

    통신판매 신고 번호

    01-0653

    영업소재지

    서울특별시 종로구 종로 1(종로1가,교보빌딩)

    교환/환불

    반품/교환 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청 또는 1:1 문의 게시판 및 고객센터(1577-2555)에서 신청 가능

    반품/교환가능 기간

    변심 반품의 경우 출고완료 후 6일(영업일 기준) 이내까지만 가능
    단, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

    반품/교환 비용

    변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
    상품이나 서비스 자체의 하자로 인한 교환/반품은 반송료 판매자 부담

    반품/교환 불가 사유

    ·소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)

    ·소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등

    ·복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집

    ·시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우

    ·전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우

    상품 품절

    공급사(출판사) 재고 사정에 의해 품절/지연될 수 있음

    소비자 피해보상
    환불지연에 따른 배상

    ·상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨

    ·대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

    (주) 인터파크 안전결제시스템 (에스크로) 안내

    (주)인터파크의 모든 상품은 판매자 및 결제 수단의 구분없이 회원님들의 구매안전을 위해 안전결제 시스템을 도입하여 서비스하고 있습니다.
    결제대금 예치업 등록 : 02-006-00064 서비스 가입사실 확인

    배송안내

    • 교보문고 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다.

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능합니다.

    • 배송비는 업체 배송비 정책에 따릅니다.

    • - 도서 구매 시, 1만 원 이상 무료, 1만원 미만 2천 원 - 상품별 배송비가 있는 경우, 상품별 배송비 정책 적용