1장. R 프로그래밍을 위한 환경 준비하기 | 17 | ||
01. 왜 R인가 | 18 | ||
02. R 설치하기 | 19 | ||
Windows에서 설치하기 | 20 | ||
리눅스에서 설치하기 | 22 | ||
맥 OS X에서 설치하기 | 29 | ||
03. R 시작하기 | 33 | ||
04. 도움말 보기 | 34 | ||
05. IDE 살펴보기 | 38 | ||
06. 배치 실행 | 40 | ||
07. 패키지 사용하기 | 41 | ||
참고자료 | 44 | ||
2장. 데이터 타입 | 45 | ||
01. 변수 | 46 | ||
변수 이름 규칙 | 46 | ||
변숫값 할당 | 46 | ||
02. 함수 호출 시 인자 지정 | 47 | ||
03. 스칼라 | 49 | ||
숫자 | 49 | ||
NA | 49 | ||
NULL | 50 | ||
문자열 | 51 | ||
진릿값 | 52 | ||
팩터 | 53 | ||
04. 벡터 | 57 | ||
벡터 생성 | 57 | ||
벡터 내 데이터 접근 | 59 | ||
벡터 연산 | 62 | ||
연속된 숫자로 구성된 벡터 | 64 | ||
반복된 값을 저장한 벡터 | 66 | ||
05. 리스트 | 67 | ||
리스트의 생성 | 67 | ||
리스트 내 데이터 접근 | 68 | ||
06. 행렬 | 69 | ||
행렬의 생성 | 69 | ||
행렬 내 데이터 접근 | 72 | ||
행렬의 연산 | 74 | ||
07. 배열 | 78 | ||
배열 생성 | 78 | ||
배열 데이터 접근 | 79 | ||
08. 데이터 프레임 | 80 | ||
데이터 프레임 생성 | 81 | ||
데이터 프레임 접근 | 84 | ||
유틸리티 함수 | 86 | ||
09. 타입 판별 | 89 | ||
10. 타입 변환 | 90 | ||
참고자료 | 93 | ||
3장. R 프로그래밍 | 95 | ||
01. R의 특징 | 96 | ||
02. 흐름 제어(조건문과 반복문) | 97 | ||
if | 97 | ||
반복문 | 98 | ||
03. 연산 | 101 | ||
수치 연산 | 101 | ||
벡터 연산 | 102 | ||
NA의 처리 | 103 | ||
04. 함수의 정의 | 106 | ||
기본 정의 | 106 | ||
가변 길이 인자 | 107 | ||
중첩 함수 | 108 | ||
05. 스코프 | 109 | ||
06. 값에 의한 전달 | 113 | ||
07. 객체의 불변성 | 115 | ||
08. 모듈 패턴 | 117 | ||
큐 | 118 | ||
큐 모듈 작성하기 | 119 | ||
참고자료 | 121 | ||
4장. 데이터 조작 I : 벡터 기반 처리와 외부 데이터 처리 | 123 | ||
01. 아이리스 데이터 | 124 | ||
02. 파일 입출력 | 127 | ||
CSV 파일 입출력 | 127 | ||
객체의 파일 입출력 | 131 | ||
03. 데이터 프레임의 행과 컬럼 합치기 | 132 | ||
04. apply 계열 함수 | 135 | ||
apply( ) | 135 | ||
lapply( ) | 138 | ||
sapply( ) | 142 | ||
tapply( ) | 144 | ||
mapply( ) | 146 | ||
05. 데이터를 그룹으로 묶은 후 함수 호출하기 | 149 | ||
summaryBy( ) | 149 | ||
orderBy( ) | 152 | ||
sampleBy( ) | 155 | ||
06. 데이터 분리 및 병합 | 157 | ||
split( ) | 158 | ||
subset( ) | 159 | ||
데이터 병합 | 161 | ||
07. 데이터 정렬 | 163 | ||
sort( ) | 163 | ||
order( ) | 164 | ||
08. 데이터 프레임 컬럼 접근 | 165 | ||
with( ) | 166 | ||
within( ) | 166 | ||
attach( ), detach( ) | 169 | ||
09. 조건에 맞는 데이터의 색인 찾기 | 171 | ||
10. 그룹별 연산 | 173 | ||
11. 편리한 처리를 위한 데이터의 재표현 | 174 | ||
12. MySQL 연동 | 177 | ||
MySQL 및 RMySQL 환경 설정 | 177 | ||
RMySQL을 사용한 MySQL 입출력 | 187 | ||
참고자료 | 188 | ||
5장. 데이터 조작 II: 데이터 처리 및 가공 | 189 | ||
01. 데이터 처리 및 가공 패키지 | 190 | ||
02. SQL을 사용한 데이터 처리 | 190 | ||
03. 분할, 적용, 재조합을 통한 데이터 분석 | 193 | ||
adply( ) | 194 | ||
ddply( ) | 196 | ||
그룹마다 연산을 쉽게 수행하기 | 198 | ||
mdply( ) | 201 | ||
04. 데이터 구조의 변형과 요약 | 203 | ||
melt( ) | 204 | ||
cast( ) | 207 | ||
데이터 요약 | 207 | ||
05. 데이터 테이블: 더 빠르고 편리한 데이터 프레임 | 210 | ||
데이터 테이블 생성 | 210 | ||
데이터 접근과 그룹 연산 | 212 | ||
key를 사용한 빠른 데이터 접근 | 215 | ||
key를 사용한 데이터 테이블 병합 | 218 | ||
참조를 사용한 데이터 수정 | 220 | ||
리스트를 데이터 프레임으로 변환하기 | 221 | ||
06. 더 나은 반복문 | 224 | ||
07. 병렬 처리 | 226 | ||
프로세스의 수 설정 | 226 | ||
plyr의 병렬화 | 228 | ||
foreach의 병렬화 | 231 | ||
08. 유닛 테스팅과 디버깅 | 232 | ||
testthat | 232 | ||
test_that을 사용한 테스트 그룹화 | 234 | ||
테스트 파일 구조 | 235 | ||
디버깅 | 237 | ||
09. 코드 수행 시간 측정 | 244 | ||
명령문 실행 시간의 측정 | 245 | ||
코드 프로파일링 | 246 | ||
참고자료 | 249 | ||
6장. 그래프 | 251 | ||
01. 산점도 | 252 | ||
02. 그래프 옵션 | 254 | ||
축 이름(xlab, ylab) | 254 | ||
그래프 제목(main) | 255 | ||
점의 종류(pch) | 256 | ||
점의 크기(cex) | 257 | ||
색상(col) | 258 | ||
좌표축 값의 범위(xlim, ylim) | 259 | ||
그래프 유형(type) | 260 | ||
선 유형(lty) | 263 | ||
그래프의 배열 | 264 | ||
지터 | 265 | ||
03. 기본 그래프 | 267 | ||
점(points) | 267 | ||
꺾은선(lines) | 269 | ||
직선(abline) | 272 | ||
곡선(curve) | 273 | ||
다각형(polygon) | 274 | ||
04. 문자열(text) | 278 | ||
05. 그래프에 그려진 데이터의 식별(identify) | 280 | ||
06. 범례(legend) | 281 | ||
07. 행렬에 저장된 데이터 그리기(matplot, matlines, matpoints) | 282 | ||
08. 응용 그래프 | 284 | ||
상자 그림(boxplot) | 284 | ||
히스토그램(hist) | 288 | ||
밀도 그림(density) | 291 | ||
막대 그래프(barplot) | 293 | ||
파이 그래프(pie) | 294 | ||
모자이크 플롯(mosaicplot) | 296 | ||
산점도 행렬(pairs) | 299 | ||
투시도(persp), 등고선 그래프(contour) | 301 | ||
참고자료 | 304 | ||
7장. 통계 분석 | 305 | ||
01. 난수 생성 및 분포 함수 | 306 | ||
02. 기초 통계량 | 309 | ||
표본 평균, 표본 분산, 표본 표준 편차 | 310 | ||
다섯 수치 요약 | 311 | ||
최빈값 | 312 | ||
03. 표본 추출 | 313 | ||
단순 임의 추출 | 314 | ||
가중치를 고려한 표본 추출 | 315 | ||
층화 임의 추출 | 316 | ||
계통 추출 | 319 | ||
04. 분할표 | 320 | ||
분할표 작성 | 321 | ||
합, 비율의 계산 | 322 | ||
독립성 검정 | 324 | ||
피셔의 정확 검정 | 330 | ||
맥니마 검정 | 331 | ||
05. 적합도 검정 | 335 | ||
카이 제곱 검정 | 335 | ||
샤피로 윌크 검정 | 336 | ||
콜모고로프 스미르노프 검정 | 336 | ||
Q-Q도 | 339 | ||
06. 상관 분석 | 342 | ||
피어슨 상관 계수 | 343 | ||
스피어만 상관 계수 | 347 | ||
켄달의 순위 상관 계수 | 349 | ||
상관 계수 검정 | 350 | ||
07. 추정 및 검정 | 351 | ||
일표본 평균 | 352 | ||
독립 이표본 평균 | 355 | ||
짝지은 이표본 평균 | 359 | ||
이표본 분산 | 362 | ||
일표본 비율 | 363 | ||
이표본 비율 | 366 | ||
참고자료 | 367 | ||
8장. 선형 회귀 | 369 | ||
01. 선형 회귀의 기본 가정 | 370 | ||
02. 단순 선형 회귀 | 371 | ||
모델 생성 | 371 | ||
선형 회귀 결과 추출 | 372 | ||
예측과 신뢰 구간 | 374 | ||
모델 평가 | 376 | ||
분산 분석 및 모델 간의 비교 | 380 | ||
모델 진단 그래프 | 382 | ||
회귀 직선의 시각화 | 384 | ||
03. 중선형 회귀 | 386 | ||
모델 생성 및 평가 | 386 | ||
범주형 변수 | 387 | ||
중선형 회귀 모델의 시각화 | 390 | ||
표현식을 위한 I( )의 사용 | 392 | ||
변수의 변환 | 394 | ||
상호 작용 | 395 | ||
04. 이상치 | 402 | ||
05. 변수 선택 | 404 | ||
변수 선택 방법 | 404 | ||
모든 경우에 대한 비교 | 409 | ||
참고자료 | 412 | ||
9장. 분류 알고리즘 I: 데이터 탐색, 전처리, 모델 평가 방법 설정 | 415 | ||
01. 데이터 탐색 | 416 | ||
기술 통계 | 416 | ||
데이터 시각화 | 422 | ||
02. 전처리 | 425 | ||
데이터 변환 | 425 | ||
결측치의 처리 | 432 | ||
변수 선택 | 436 | ||
03. 모델 평가 방법 | 447 | ||
평가 메트릭 | 447 | ||
ROC 커브 | 450 | ||
교차 검증 | 456 | ||
참고자료 | 469 | ||
10장. 분류 알고리즘 II: 기계 학습 알고리즘 | 471 | ||
01. 로지스틱 회귀 모델 | 472 | ||
02. 다항 로지스틱 회귀 분석 | 476 | ||
03. 의사 결정 나무 | 480 | ||
의사 결정 나무 모델 | 480 | ||
분류와 회귀 나무 | 482 | ||
조건부 추론 나무 | 485 | ||
랜덤 포레스트 | 488 | ||
04. 신경망 | 495 | ||
신경망 모델 | 495 | ||
신경망 모델 학습 | 498 | ||
05. 서포트 벡터 머신 | 502 | ||
서포트 벡터 머신 모델 | 502 | ||
서포트 벡터 머신 학습 | 504 | ||
06. 클래스 불균형 | 509 | ||
업 샘플링, 다운 샘플링 | 510 | ||
SMOTE | 513 | ||
07. 문서 분류 | 515 | ||
코퍼스와 문서 | 515 | ||
문서 변환 | 516 | ||
문서의 행렬 표현 | 518 | ||
빈번한 단어 | 521 | ||
단어 간 상관관계 | 522 | ||
문서 분류 | 523 | ||
파일로부터 코퍼스 생성 | 525 | ||
메타 데이터 | 528 | ||
08. Caret 패키지 | 532 | ||
참고자료 | 536 | ||
11장. 타이타닉 데이터를 사용한 기계 학습 실습 | 539 | ||
01. 타이타닉 데이터 형식 | 540 | ||
02. 데이터 불러오기 | 540 | ||
데이터 타입 지정 | 542 | ||
테스트 데이터의 분리 | 544 | ||
교차 검증 준비 | 545 | ||
03. 데이터 탐색 | 548 | ||
04. 평가 메트릭 | 552 | ||
05. 의사 결정 나무 모델 | 552 | ||
rpart의 교차 검증 | 553 | ||
정확도 평가 | 555 | ||
조건부 추론 나무 | 556 | ||
06. 또 다른 특징의 발견 | 557 | ||
ticket을 사용한 가족 식별 | 558 | ||
생존 확률 예측 | 559 | ||
가족 ID 부여 | 560 | ||
가족 구성원 생존 확률의 병합 | 562 | ||
가족 정보를 사용한 ctree( ) 모델링 | 565 | ||
성능 평가 | 566 | ||
07. 교차 검증의 병렬화 | 569 | ||
10겹 교차 검증의 3회 반복 수행 | 569 | ||
foreach( )와 %dopar%를 사용한 병렬화 | 571 | ||
08. 더 나은 알고리즘의 개발 | 572 | ||
참고자료 | 573 |