이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제
해들리 위컴의 Advanced R
제이펍 2018.05.10.
베스트
프로그래밍 언어 top100 5주
가격
32,000
10 28,800
YES포인트?
1,600원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요

이미 소장하고 있다면 판매해 보세요.

  •  해외배송 가능?
  •  문화비소득공제 가능

이 분야의 이벤트

상세 이미지

책소개

목차

CHAPTER 1 서론 1
1.1 이 책을 읽어야 하는 독자 3
1.2 이 책에서 얻을 수 있는 것 4
1.3 메타 기법 5
1.4 읽어 볼 만한 자료 5
1.5 도움 얻기 6
1.6 감사의 말 7
1.7 편집 규칙 8
1.8 출간 방법 9

PART I 기본 11
CHAPTER 2 데이터 구조 13
2.1 벡터 15
2.2 속성 20
2.3 매트릭스와 어레이 26
2.4 데이터 프레임 29
2.5 퀴즈 풀이 34

CHAPTER 3 서브세팅 35
3.1 데이터 유형 36
3.2 서브세팅 연산자 43
3.3 서브세팅과 할당 48
3.4 응용 50
3.5 퀴즈 풀이 59

CHAPTER 4 어휘 60
4.1 기초 60
4.2 공통적인 데이터 구조 62
4.3 통계학 63
4.4 R 작업 64
4.5 I/O 64

CHAPTER 5 스타일 가이드 66
5.1 표기법과 이름 짓기 67
5.2 문법 68
5.2.5 할당 71
5.3 조직화 71

CHAPTER 6 함수 72
6.1 함수 구성 요소 74
6.2 렉시칼 스코핑 76
6.3 모든 연산은 함수 호출 82
6.4 함수 인자 85
6.5 특수한 호출 95
6.6 반환값 99
6.7 퀴즈 풀이 104

CHAPTER 7 객체지향 필드 가이드 105
7.1 베이스 타입 107
7.2 S3 109
7.3 S4 118
7.4 RC 124
7.5 시스템 선택 128
7.6 퀴즈 풀이 129

CHAPTER 8 환경 130
8.1 환경 기초 131
8.2 환경 위에서 재귀 137
8.3 함수 환경 140
8.4 값에 이름을 바인딩하기 148
8.5 명시적 환경 152
8.6 퀴즈 풀이 154

CHAPTER 9 디버깅, 상황 처리, 그리고 방어적 프로그래밍 155
9.1 디버깅 기법 157
9.2 디버깅 도구 159
9.3 상황 처리 166
9.4 방어적 프로그래밍 176
9.5 퀴즈 풀이 178

PART II 함수형 프로그래밍 179
CHAPTER 10 함수형 프로그래밍 181
10.1 동기 182
10.2 익명 함수 187
10.3 클로저 190
10.4 함수로 된 리스트 196
10.5 사례 연구: 수치 적분 200

CHAPTER 11 기능 205
11.1 나의 첫 번째 기능: lapply() 207
11.2 for 루프 기능들: lapply( )의 친구들 211
11.3 매트릭스와 데이터 프레임의 조작 221
11.4 리스트 조작 226
11.5 수학 기능 230
11.6 현재 상태로 남아 있어야 하는 반복 232
11.7 함수군 235

CHAPTER 12 함수 연산자 242
12.1 행동적 FO 244
12.2 출력 FO 254
12.3 입력 FO 258
12.4 결합 FO 262

PART III 언어에서의 컴퓨팅 267
CHAPTER 13 비표준적 평가 269
13.1 표현식 파악 270
13.2 서브세트에서 비표준적 평가 273
13.3 이슈 스코핑 278
13.4 다른 함수에서 호출 280
13.5 대체 284
13.6 비표준적 평가의 단점 289

CHAPTER 14 표현식 292
14.1 표현식의 구조 293
14.2 이름 298
14.3 호출 300
14.4 현재 호출 파악하기 305
14.5 리스트쌍 309
14.6 파싱과 디파싱 311
14.7 재귀 함수로 AST를 따르기 314

CHAPTER 15 도메인 특화 언어 324
15.1 HTML 325
15.2 LaTeX 334

PART IV 성능 343
CHAPTER 16 성능 345
16.1 R은 왜 느린가? 346
16.2 마이크로벤치마킹 347
16.3 언어 성능 349
16.4 구현 성능 354
16.5 대체적 R 구현 358

CHAPTER 17 코드 최적화 361
17.1 성능 측정 363
17.2 성능 개선하기 367
17.3 코드 조직화 368
17.4 이미 누군가 그 문제를 해결하지는 않았는가? 370
17.5 가능한 한 적게 작업하라 371
17.6 벡터화 378
17.7 사본 회피 381
17.8 바이트 코드 컴파일레이션 382
17.9 사례 연구: t-검정 383
17.10 병렬화 386
17.11 다른 기법들 388

CHAPTER 18 메모리 389
18.1 객체 크기 390
18.2 메모리 사용과 가비지 컬렉션 395
18.3 lineprof를 이용한 메모리 프로파일링 398
18.4 제자리에서 수정 402

CHAPTER 19 Rcpp를 이용한 고성능 함수 408
19.1 C++ 시작하기 410
19.2 속성 및 다른 클래스들 420
19.3 결측값 423
19.4 Rcpp 설탕 427
19.5 STL 430
19.6 사례 연구 437
19.7 패키지에 Rcpp 사용하기 441
19.8 더 공부하기 442
19.9 감사의 글 444

CHAPTER 20 R의 C 인터페이스 445
20.1 R에서 C 함수 호출 447
20.2 C 데이터 구조 448
20.3 벡터의 생성과 수정 450
20.4 리스트쌍 457
20.5 입력 유효성 검증 460
20.6 함수에 대한 C 소스 코드 찾기 462

찾아보기

저자 소개 2

해들리 위컴

관심작가 알림신청
 

Hadley Wickham

Posit, PBC의 수석 과학자이며, 2019년 COPSS 상 수상자이자 R 파운데이션 회원이다. 데이터 과학을 더 쉽고 빠르고 재미있게 만들기 위해 프로그래밍 도구와 개념적 도구를 만들고 있으며, 데이터 과학용 패키지(ggplot2, dplyr, tidyr을 포함하는 tidyverse)와 체계적인 소프트웨어 개발 도구(roxygen2, testthat, pkgdown 등)를 개발하였다. R을 이용한 데이터 과학 활동을 장려하기 위해 작가, 교육자, 연사로도 활동하고 있다. 자세한 소개는 그의 웹사이트(http://hadley.nz)에서 확인할 수 있다.

해들리 위컴의 다른 상품

대학에서 경영학 박사 과정을 수료하였다. 회계학에 빅데이터와 데이터 과학을 접목하기 위한 노력하고 있으며, R 사용자의 저변 확대를 위해 한국R사용자커뮤니티(R Korea)를 운영하고 있다. 또한, R 시스템 메시지와 R 재단의 공식 문서를 번역하는 R 한글화 팀(R-ihelp)과 자유 소프트웨어 운동을 위한 GNU Korea의 멤버로도 활동하고 있다. 최근에는 오픈 사이언스에 관심을 갖고 W3 재단의 Open Science Community를 개설하여 의장으로서 커뮤니티 활성화를 모색하고 있다.

품목정보

발행일
2018년 05월 10일
쪽수, 무게, 크기
492쪽 | 935g | 188*245*23mm
ISBN13
9791188621149

만든이 코멘트

안녕하세요 이 책의 역자입니다.
2018-04-26
안녕하세요. 해들리의 책 중 유명한 하나로 알려진 Advanced R을 번역한 정우준입니다. 이 글이 이 책을 선택하는 데 도움이 되길 바라면서 몇 자 적어봅니다.

R 프로그래밍을 하면서 겪게 되는 흔한 질문은, 기본적인 R 프로그래밍에 대한 지식은 인터넷이나 교육 등을 통해서 쉽게 얻을 수 있지만, 오히려 도대체 R은 무엇이고, 어떻게 해야 초급 수준에서 중고급 수준으로 역량을 개발할 수 있을까 하는 의문을 갖을 때가 있다는 것입니다.

이 Adv.R은 고급 R 프로그래머로써 갖추어야 역량이 무엇인지 제시하며, 프로그래밍 언어로서의 R에 대해 알아야 할 지식을 설명함으로써, 앞의 질문에 대해 어느 정도 해답을 제시하고 있습니다.

이 책을 통해 많은 사용자분들이 보다 역량 있는 R 프로그래머가 되는 데 도움을 받을 수 있기를 바라며, 동시에 이를 통한 강한 R 생태계 구축에도 도움이 되기를 바랍니다.

감사합니다.

정우준 올림

책 속으로

R은 아직 상대적으로 젊은 언어이므로 이해를 돕기 위한 자료들이 지속적으로 더해지고 있다. R을 이해하기 위해 노력한 개인적인 경험에 비춰볼 때 다른 프로그래밍 언어와 관련된 자료를 이용하는 것이 특히 도움이 되었다. R은 함수형(functional)과 객체지향형(OO; Object Oriented) 프로그래밍 언어 모두의 다양한 측면을 지닌다. 이러한 개념들이 R에서 표현되는 방법을 학습하는 것은 다른 프로그래밍 언어에 대한 자신의 기존 지식을 증대하는 데 도움을 주고, 스스로 개선할 수 있는 영역을 식별하는 데도 도움을 줄 수 있다.
--- p. 5

렉시칼 스코핑은 함수가 호출됐을 때가 아니라 생성되었을 때 중첩되는(nested) 방식에 따라 심볼 값을 찾는다. 렉시칼 스코핑을 사용하면 변수의 값을 어디에서 찾아야 할지 알아내기 위해 함수를 호출하는 방법을 알아야 할 필요가 없다. 단지 함수의 정의만 살펴보면 된다.
--- p. 77

주류 OO 언어로 프로그래밍을 해왔다면 RC는 매우 자연스러워 보일 것이다. 그러나 이것은 가변 상태를 통한 파급 효과를 발생시킬 수 있기 때문에 이해하기가 더 어렵다. 예를 들어, 일반적으로 R에서 f(a, b)를 호출할 때 a와 b가 수정되지 않을 것을 가정할 수 있다. 그러나 이 둘이 RC 객체라면 즉시 수정될 수 있다. 일반적으로 RC 객체를 사용할 때 가능한 파급 효과를 최소화하여 가변 상태가 반드시 필요한 경우에만 그것을 사용하기 바란다. 대부분의 함수는 기능적이어야 하고, 파급 효과에서 자유로워야 한다. 이것은 코드를 이해하기 쉽게 하여, 다른 R 상용자가 그 코드를 수월하게 이해할 수 있도록 한다.
--- p. 129

sapply( )와 vapply( )는 출력을 단순하게 원자 벡터로 만들어 내는 점을 제외하면 lapply( )와 매우 유사하다. sapply( )가 예상되는 반면, vapply( )는 출력 유형을 지정하기 위한 추가적 인자를 가진다. sapply( )는 타이핑을 줄이기 때문에 인터렉티브하게 사용하는 경우가 가장 좋다. 그러나 자신의 함수 내에서 사용할 때 옳지 않은 입력 유형을 제공하면 이상한 오류를 보게 될 것이다. vapply( )는 더 장황하지만, 보다 정보가 풍부한 오류 메시지를 제공하고 절대로 아무 표시 없이 실패하지 않는다. 다른 함수 안에 사용하는 것에는 더 잘 맞는다.
--- p. 212

R의 성능에 대해 이해하기 위해 언어로서와 그 언어의 구현으로서 R에 대해 생각해 보는 것이 도움이 된다. R 언어는 추상적이다. R 언어는 R 코드가 의미하는 바와 동작하는 방법을 정의한다. 그 구현은 견고하다. 즉, R 코드를 읽어 결과를 계산한다. 대부분의 유명한 구현은 r-project.org(http://r-project.org)에 의한 것이다. GNU R 구현과 이 장의 뒷부분에서 논할 다른 구현들 및 R 언어를 구분할 것이다.
--- p. 346

맵(map)은 세트와 유사하지만, 존재 또는 부재를 저장하는 대신, 추가 데이터를 저장할 수 있다. 이것은 값을 찾아야하는 table( ) 또는 match( ) 같은 함수에 유용하다. 세트와 마찬가지로, 순서 있는 버전(std::map)과 순서가 없는 버전(std::unordered_map)이 있다. 맵은 값과 키를 갖고 있기 때문에 맵을 초기화할 때 map[double, int], unordered_map[int, double] 등 두 타입을 모두 지정해야 한다. 다음 사례는 map을 사용하여 수치형 벡터에 대해 table( )을 구현하는 방법을 보여 준다.

--- p. 436

추천평

“해들리 위컴은 관련 분야에서 가장 권위 있는 사람 중 한 명이고 전 세계의 R 커뮤니티를 통틀어 가장 많이 알려지고 능력을 인정받는 인물이다. 이러한 점은 이 책의 가장 강력한 강점이자 이 책이 출간될 만한 주된 이유다. 이와 같은 주제를 다루는 책들이 이미 많으나 이 책만큼 깊이 있고, 기술적으로 정확하며, 권위가 높은 책은 극히 드물 것이다.”


빌 베나블스(Bill Venables), CSIRO

리뷰/한줄평2

리뷰

8.0 리뷰 총점

한줄평

10.0 한줄평 총점

클린봇이 부적절한 글을 감지 중입니다.

설정