로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
Home >   >   > 

해들리 위컴의 Advanced R

   
지은이 해들리 위컴   |   출판사 주식회사 제이펍  |   발행일 2018년 05월 10일
 
클릭하시면 큰 도서이미지를 보실 수 있습니다.
판매가 32,000원28,800원 10%
마일리지 5% 1,600원
발행일 2018-05-10
ISBN 1188621149 | 9791188621149
기타정보 국내서 | 492쪽 | 일반
예상출고일 1~2일 이내 (근무일기준)
배송비 무료배송
   
일반
   
 

R 사용자를 위한 해들리 위컴의 선물!

이 책에는 독자들이 단기간에 수준 높은 R 프로그래머가 될 수 있도록 저자가 터득한 것들이 체계적으로 정리되어 있다. 저자가 겪었던 것과 비슷한 실수나 마지막까지 해결하지 못한 문제들이 반복되지 않도록 하는 데 많은 도움을 받을 것이다. 또한, 다양한 유형의 문제를 다룰 때 사용할 수 있는 유용한 도구와 기법 및 관용적인 사용법 등을 배울 수 있으며, 이 과정에서 R이 지닌 단점에도 불구하고 R이 데이터 분석과 통계학에 적합하게 설계된, 얼마나 우아하고 아름다운 언어인지를 깨닫게 될 것이다. 이 책을 통해 다양한 환경에서 사용될 수 있는 고품질의 코드를 생산하는 능력을 비롯한 고급 R 프로그래머가 알아야 할 다양한 기법을 배워 보자.


출판사 서평
학습을 위한 최고의 R 프로그래밍 기법 제시!

R 언어에 정통하고 경험 많은 저자가 알려주는 고급 R 프로그래밍!


《해들리 위컴의 Advance R》은 R 프로그래밍 중 발생하는 다양한 문제를 해결할 수 있는 유용한 도구와 기술을 소개함으로써, 이제까지는 처리하지 못했던 문제나 실수를 해결하는 데 많은 도움이 될 것이다. 저자는 10여 년의 R 프로그래밍 경험을 바탕으로 R의 근원에 있는 우아함과 아름다움 그리고 유연함을 잘 묘사하였다.

이 책으로 다양한 환경에서 사용할 수 있는 수준 높은 코드를 작성하는 데 필요한 역량을 키울 수 있다. 아울러 이 책을 통해 R 사용자는 R 프로그래머가 되는 데 도움을 받을 수 있고, 기존의 프로그래머도 R의 특별한 점을 파악할 수 있다. 반면 다른 언어를 사용하는 프로그래머는 R에 대해 더 자세하게 알 수 있으며, R이 동작하는 방식을 이해할 수 있다. 또한, 중급의 R 프로그래머는 R에 대한 보다 깊은 이해를 통해 다양한 문제를 해결할 수 있는 새로운 전략을 학습할 수 있다.

이 책으로 학습할 수 있는 주요 내용
• 표준적인 데이터 유형과 함수들을 포함한 R의 근간
• 넓은 범위의 문제 해결을 위한 유용한 프레임워크로서의 함수형 프로그래밍
• 메타프로그래밍의 장점과 단점
• 메모리 효율을 높이기 위한 빠른 속도의 코드를 작성하는 방법

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

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

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

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

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

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

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

찾아보기
해들리 위컴(Hadley Wickham)
RStudio의 수석 과학자이자 R 재단의 핵심 멤버다. 그는 데이터 과학을 더 쉽게, 더 빠르게, 더 재미있게 하는 도구를 만들어 왔다. 데이터 과학(ggplot2, dplyr, tidyr), 데이터 수집(readr, readxl, haven), 원칙에 입각한 소프트웨어 개발(roxygen2, testthat, devtools) 등이 그것들이다. 또한, 그는 데이터 과학 분야에서 R의 사용을 장려하는 작가이자 교육자인 동시에 영향력 높은 인물이기도 하다.

옮긴이 소개
정우준
대학에서 경영학 박사 과정을 수료하였다. 회계학에 빅데이터와 데이터 과학을 접목하기 위한 노력하고 있으며, R 사용자의 저변 확대를 위해 한국R사용자커뮤니티(R Korea)를 운영하고 있다. 또한, R 시스템 메시지와 R 재단의 공식 문서를 번역하는 R 한글화 팀(R-ihelp)과 자유 소프트웨어 운동을 위한 GNU Korea의 멤버로도 활동하고 있다. 최근에는 오픈 사이언스에 관심을 갖고 W3 재단의 Open Science Community를 개설하여 의장으로서 커뮤니티 활성화를 모색하고 있다.
등록된 서평이 없습니다.
엑셀 2010...
두드림기획
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
좋은 사진을 만드는 박승근의 드론 사진 강의...
박승근
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
 
전체평균(0)
회원평점   회원서평수 0
주식회사 제이펍 출판사의 신간
모던 C++로 배우는 동시성 프로그래밍
라이너 그림 저
22,500원
(10%↓+5%)
 
웹 서비스를 만들며 배우는 node.js 프로그래밍: 설치에서 배포까지
정민석 저
18,000원
(10%↓+5%)
 
해킹 일렉트로닉스: 아두이노와 라즈베리파이로 배우는 전자공학
사이먼 몽크 저
26,100원
(10%↓+5%)
 
한 권으로 배우는 파이썬 기초 & 알고리즘 사고법
아리스티데스 보우라스, 루키아 아이나로지두 저
27,000원
(10%↓+5%)
 
스프링 부트로 배우는 자바 웹 개발
윤석진 저
24,300원
(10%↓+5%)
 
이메일주소수집거부