BigData Analysis with R
R로 하는 빅데이터 분석: 데이터 전처리와 시각화
- 제목 : R로 하는 빅데이터 분석 | 출판사 : 숨은원리
- 지음 : 김권현 / 가격 : 25,000원 / 판형 : 175×250
- 쪽수 : 326쪽 / 발행일 : 2019년 3월 1일 / ISBN : 979-11-960144-7-6(93000)
이 책은 어느 정도 프로그래밍 경험이 있는 독자를 대상으로, 오픈 소스 데이터 분석 도구인 R을 활용하여 데이터를 불러들이고, 가공하고, 시각화하는 방법을 설명한다. 이 책은 시중의 책들과 달리 특정한 기능을 하는 함수들을 설명하기 전에 데이터 전처리의 목적과 기능에 대한 개념적인 이해를 우선 할 수 있도록 도와준다. 그리고 날짜시간 자료형, 문자열 자료형, 정규표현식 등에 대한 원리와 응용 방법을 자세하게 설명하여 복잡한 전처리 과정에서도 논리적 오류를 범하지 않도록 한다. 분산처리 없이 빅데이터 처리를 할 수 있는 마지막 보류인 데이터테이블을 dplyr 패키지의 함수와 비교하여 이해를 도왔고,ggplot2의 설명에서는 플롯의 수많은 옵션을 정하는 방법을 한 눈에 보기 싶게 보여준다. 그 밖에도 부록으로 RStudio의 치트시트를 수록하였다. 어느 정도 R에 익숙한 독자들에게도 R의 데이터 전처리와 시각화에 대해 좀 더 깊이 알 수 있게 하였다. 레퍼런스 북으로도 손색이 없다.
출판사 서평
이 책은 쿡북(Cookbook)이 아니다!
물론 프로그래밍 언어으로 원하는 목적을 달성하는 가장 빠른 방법은
이미 작동하는 소스 코드를 실행하는 것이다. 하지만 소스 코드를 고쳐야 한다면!?!
그 때부터는 수많은 문법오류, 논리오류(버그)에
잘 돌아가던 프로그램도 안 돌아가는 신비한 경험을 하게 된다.
그 버그란 무엇 때문에 생기는가?
실수, 수면부족, 주의 산만 등 다양한 원인이 있겠지만,
또 다른 주요 원인은 튼튼하지 못한 기초에 있다!
- NA > 3은 왜 NA이고, NA | TRUE는 왜 TRUE인가?
- 데이터테이블(data.table)의 복잡한 문법은 어떻게 이해해야 하는가?
- 정규표현식의 메타문자는 무엇이고, 어떻게 다루어야 하는가?
- ggplot2의 수많은 옵션은 어떻게 외워야 할까?
패키지, 벡터, 데이터프레임 등 기초부터 데이터테이블, 정규표현식, ggplot2까지
데이터 전처리와 시각화를 위한 핵심을 모두 담았다!
저자소개
지은이 : 김권현
- 서울대학교 인지과학 박사
- 서울대학교 물리학 학사
- 서울대학교 사회과학원 방법론 컨설턴트
- 서울대학교 사회과학원 R 강의
- 서강대학교, 국민대학교 등 강의(심리통계, 분석프로그래밍)
- R 패키지 mirt의 공헌자
- Datacamp.com 기고(Long to Wide Data in R)
- ‘기초 통계학의 숨은 원리’, ‘수학의 숨은 원리’ 등의 저자
차 례
1 들어가기
1.1 R … … … … … … … … … … … … 8
2 R의 패키지(Packages)
2.1 패키지 설치 … … … … … … … … … … . 9
2.2 패키지 관련 정보 … … … … … … … … … . 10
2.3 패키지 불러오기/확인하기/제거하기 … … … … … … 11
2.4 패키지 관리하기 … … … … … … … … … . 12
2.5 중복되는 함수와 변수 … … … … … … … … . . 12
3 R의 변수, 자료형, 연산/함수
3.1 R의 변수 … … … … … … … … … … . . 13
3.2 R의 데이터 타입(자료형) … … … … … … … … 17
3.3 연산(Operations)과 함수(Functions) … … … … … . . 20
3.4 특별한 값 … … … … … … … … … … . . 26
4 데이터 구조
4.1 벡터(Vector) … … … … … … … … … … 31
4.2 데이터 구조에 따른 생성, 참조, 수정, 추가, 삭제 함수 … … … . 43
4.3 CRUD(Create, Read, Update, Delete) … … … … … 51
4.4 3+차원의 배열 … … … … … … … … … . . 53
5 dplyr 패키지를 활용한 데이터 가공
5.1 magrittr의 파이프 연산자 … … … … … … … . . 59
5.2 dplyr의 방식: 부분 선택(Subsetting) … … … … … . . 62
5.3 dplyr의 방식 : 수정 … … … … … … … … . . 68
5.4 dplyr의 기타 편의 기능 … … … … … … … … . 74
6 날짜와 시간(Date and Time)
6.1 날짜의 표기 … … … … … … … … … … . 80
6.2 날짜 표기 변환 … … … … … … … … … . . 81
6.3 날짜시간 표기 인식 … … … … … … … … … 82
6.4 날짜, 시간 연산 … … … … … … … … … . . 89
6.5 날짜(시간)의 특정한 정보 참조 … … … … … … … 90
6.6 날짜(시간) 갱신 … … … … … … … … … . 90
6.7 활용예 … … … … … … … … … … … 93
7 팩터형 데이터타입
7.1 팩터형의 중요성 … … … … … … … … … . 96
7.2 데이터 전처리에 있어서 팩터형 … … … … … … … 96
7.3 forcats 패키지 … … … … … … … … … . . 98
8 R로 데이터 읽어오기
8.1 R 내장 데이터 … … … … … … … … … . . 101
8.2 들어가기 : write.table/read.table, save/load … … … . . 102
8.3 텍스트로 저장된 데이터 화일 읽기 … … … … … … . 103
8.4 EXCEL 화일 읽기 … … … … … … … … … 110
8.5 그 밖의 통계 프로그램 데이터 화일 … … … … … … . 111
9 데이터 가공
9.1 집단별로 함수 적용하기 … … … … … … … … . 114
9.2 여러 데이터 프레임 합치기 … … … … … … … . . 119
9.3 세로형/가로형 변환 … … … … … … … … … 125
10 패키지 데이터테이블(data.table)
10.1 package:dplyr과 package:data.table의 비교 … … … … . 127
10.2 data.table의 키(key) 활용하기 … … … … … … . . 143
10.3 data.table을 활용한 병합 … … … … … … … . . 148
10.4 그 밖의 특수한 기호 : .SD, .GRP, .N, .I, .BY, .EACHI … … … . 157
10.5 데이터테이블 종합 … … … … … … … … … 165
11 문자열(character)
11.1 인코딩 … … … … … … … … … … … 167
11.2 대표적인 인코딩 방법 … … … … … … … … . . 168
11.3 그 밖의 인코딩 방법 … … … … … … … … … 168
11.4 R에서 인코딩 다루기 … … … … … … … … . . 169
11.5 R에서 문자열 입력 … … … … … … … … … 171
11.6 유니코드 정규화(Normalization) … … … … … … . 173
11.7 문자열의 정렬 … … … … … … … … … … 174
11.8 문자열을 다루는 함수들 … … … … … … … … . 176
11.9 패키지 stringr을 활용한 문자열 관리 … … … … … . . 182
12 정규표현식
12.1 R과 정규표현식 … … … … … … … … … . . 185
12.2 확장정규표현식(ERE; Extended Regular Expressions) … … . 186
13 정규표현식을 활용한 문자열 데이터 가공: 개념적 접근
13.1 패턴과 일치하는 부분과 관련된 정보 … … … … … … 200
13.2 패턴과 일치하는 부분을 활용하여 가공하기 … … … … … 200
14 흐름 제어와 함수
14.1 제어문: 조건과 반복 … … … … … … … … . . 201
14.2 함수 … … … … … … … … … … … . 209
15 1변수 기술 통계량
15.1 집중경향치 … … … … … … … … … … . 215
15.2 변산성 측정치 … … … … … … … … … … 216
15.3 범주형, 순위형 변수 … … … … … … … … … 217
16 데이터 프레임의 모든 변수(컬럼)에 대해 요약통계치 구하기
16.1 함수 목록은 다음과 같다… … … … … … … … . 219
17 간편 시각화
17.1 간편 시각화의 예 … … … … … … … … … . 222
18 ggplot2
18.1 들어가기 … … … … … … … … … … . . 227
18.2 시각적 맵핑(Aesthetic mapping) … … … … … … . 229
18.3 기하학적 대상(geom) … … … … … … … … . . 248
18.4 보조선(Auxillary lines) … … … … … … … … 257
18.5 좌표계(Coordinate system) … … … … … … … . 259
18.6 범례(Legends) … … … … … … … … … . . 265
18.7 제목과 테마(Title and Theme) … … … … … … . . 267
18.8 결과 정리 및 저장 … … … … … … … … … . 273
18.9 ggplot2(gg = Grammar of Graphics) 총정리 … … … … 275
19 연습문제 해답
데이터 불러들이기 … … … … … … … … … … 279
제어와 함수 I… … … … … … … … … … … 282
부록 1. R에서 하는 벡터/행렬 연산
벡터연산 … … … … … … … … … … … . . 283
한 행렬 연산 … … … … … … … … … … … 283
두 행렬의 연산 … … … … … … … … … … . . 284
선형(행렬) 대수 … … … … … … … … … … . 285
부록 2. R의 색
부록 3. RStudio 치트시트
온라인 서점 살펴보기
더 빠르게, 더 체계적으로, 더 완벽하게,
데이터 분석을 위한 R을 배운다!
- R 최신 버전 3.5.2(2018-12-20) 반영
- 빅데이터 분석을 위한 최선의 선택-
data.table
패키지(최신버전 1.12.0)에 대한 설명 수록 - RStudio의
ggplot2
(최신버전 3.1.0) 등 패키지 치트시트(cheatsheet) 수록 - 백과사전식의 나열이 아니라 개념 중심의 체계적인 이해 중시
- 좀 더 테크니컬한 심층 활용 방법과 오류를 사전에 방지하는 방법 설명
- 각종 참고 자료 및 표 수록
- 다양한 원서의 내용 종합
- Spector(2008). Data Manipulation with R.
- Kabacoff(2015). R in Action: Data Analysis and Graphics with R
- Wickham(2016). ggplot2: Elegant Graphics for Data Analysis.
- Lander(2017). R for Everyone: Advanced Analytics and Graphics.
- Wickham & Grolemund(2017). R for Data Science.
- Van Der Loo & De Jong(2018). Statistical Data Cleaning with Applications in R.
실습용 화일은 아래에서 다운로드 받을 수 있습니다.
현욱
보통 Dplyr 과 data.table 둘중 하나만 다루는데 실무에서는 둘다 사용을 합니다. 이런점을 책에서 다뤄 주신것이 넘 좋네요. 그리고 정규 표현식도요 ^^
좋은책 출간을 기대합니다