R 프로그래밍에 능숙해야 더 빠르고 효율적인 분석이 가능하다 데이터 분석 또는 모델링에서 데이터를 조작하고 처리하는 과정에 많은 시간과 노력이 소요되며, 간단한 프로그래밍 문제에 부딪쳐 진도가 나가지 않는 경우도 있다. 이 책은 효율적으로 데이터를 분석할 수 있는 능력을 키울 수 있게 프로그래밍에 중점을 두고 R을 능숙하게 사용하는 방법을 설명한다.
R 기본부터 실제 데이터 분석까지 실습으로 익힌다 쉽게 로딩해서 실행해 볼 수 있는 R의 기본 데이터 셋부터 실제 업무에 적용하기 위한 통계 분석, 데이터 마이닝, 기계 학습에 대한 분석 모델 및 알고리즘과 같은 더 실제적이고 실용적인 예까지 실습을 통해 학습할 수 있다.
저자의 실무와 학습 경험을 통해서 데이터 분석 과정의 다양한 문제를 해결한다 저자가 R을 배우고 활용하면서 답답했던 문제를 해결하기 위해 노력했던 결과가 담겨 있다. 문법도 이해했고 책도 읽었는데 막상 데이터를 갖다놓으면 막막하고, 데이터를 분석하려고 할 때마다 방법을 몰라 구글 검색으로 찾아서 해결했던 바로 그 문제들에 대한 답들이 정리되어 있다.
1장 R 프로그래밍을 위한 환경 준비하기
01 왜 R인가 02 R 설치하기 Windows에서 설치하기 리눅스에서 설치하기 맥 OS X에서 설치하기 03 R 시작하기 04 도움말 보기 05 IDE 살펴보기 06 배치 실행 07 패키지 사용하기 참고자료
2장 데이터 타입
01 변수 변수 이름 규칙 변숫값 할당 02 함수 호출 시 인자 지정 03 스칼라 숫자 NA NULL 문자열 진릿값 팩터 04 벡터 벡터 생성 벡터 내 데이터 접근 벡터 연산 연속된 숫자로 구성된 벡터 반복된 값을 저장한 벡터 05 리스트 리스트의 생성 리스트 내 데이터 접근 06 행렬 행렬의 생성 행렬 내 데이터 접근 행렬의 연산 07 배열 배열 생성 배열 데이터 접근 08 데이터 프레임 데이터 프레임 생성 데이터 프레임 접근 유틸리티 함수 09 타입 판별 10 타입 변환 참고자료
3장 R 프로그래밍
01 R의 특징 02 흐름 제어(조건문과 반복문) if 반복문 03 연산 수치 연산 벡터 연산 NA의 처리 04 함수의 정의 기본 정의 가변 길이 인자 중첩 함수 05 스코프 06 값에 의한 전달 07 객체의 불변성 08 모듈 패턴 큐 큐 모듈 작성하기 참고자료
4장 데이터 조작 I : 벡터 기반 처리와 외부 데이터 처리
01 아이리스 데이터 02 파일 입출력 CSV 파일 입출력 객체의 파일 입출력 03 데이터 프레임의 행과 컬럼 합치기 04 apply 계열 함수 apply( ) lapply( ) sapply( ) tapply( ) mapply( ) 05 데이터를 그룹으로 묶은 후 함수 호출하기 summaryBy( ) orderBy( ) sampleBy( ) 06 데이터 분리 및 병합 split( ) subset( ) 데이터 병합 07 데이터 정렬 sort( ) order( ) 08 데이터 프레임 컬럼 접근 with( ) within( ) attach( ), detach( ) 09 조건에 맞는 데이터의 색인 찾기 10 그룹별 연산 11 편리한 처리를 위한 데이터의 재표현 12 MySQL 연동 MySQL 및 RMySQL 환경 설정 RMySQL을 사용한 MySQL 입출력 참고자료
5장 데이터 조작 II: 데이터 처리 및 가공
01 데이터 처리 및 가공 패키지 02 SQL을 사용한 데이터 처리 03 분할, 적용, 재조합을 통한 데이터 분석 adply( ) ddply( ) 그룹마다 연산을 쉽게 수행하기 mdply( ) 04 데이터 구조의 변형과 요약 melt( ) cast( ) 데이터 요약 05 데이터 테이블: 더 빠르고 편리한 데이터 프레임 데이터 테이블 생성 데이터 접근과 그룹 연산 key를 사용한 빠른 데이터 접근 key를 사용한 데이터 테이블 병합 참조를 사용한 데이터 수정 리스트를 데이터 프레임으로 변환하기 06 더 나은 반복문 07 병렬 처리 프로세스의 수 설정 plyr의 병렬화 foreach의 병렬화 08 유닛 테스팅과 디버깅 testthat test_that을 사용한 테스트 그룹화 테스트 파일 구조 디버깅 09 코드 수행 시간 측정 명령문 실행 시간의 측정 코드 프로파일링 참고자료
6장 그래프
01 산점도 02 그래프 옵션 축 이름(xlab, ylab) 그래프 제목(main) 점의 종류(pch) 점의 크기(cex) 색상(col) 좌표축 값의 범위(xlim, ylim) 그래프 유형(type) 선 유형(lty) 그래프의 배열 지터 03 기본 그래프 점(points) 꺾은선(lines) 직선(abline) 곡선(curve) 다각형(polygon) 04 문자열(text) 05 그래프에 그려진 데이터의 식별(identify) 06 범례(legend) 07 행렬에 저장된 데이터 그리기(matplot, matlines, matpoints) 08 응용 그래프 상자 그림(boxplot) 히스토그램(hist) 밀도 그림(density) 막대 그래프(barplot) 파이 그래프(pie) 모자이크 플롯(mosaicplot) 산점도 행렬(pairs) 투시도(persp), 등고선 그래프(contour) 참고자료
7장 통계 분석
01 난수 생성 및 분포 함수 02 기초 통계량 표본 평균, 표본 분산, 표본 표준 편차 다섯 수치 요약 최빈값 03 표본 추출 단순 임의 추출 가중치를 고려한 표본 추출 층화 임의 추출 계통 추출 04 분할표 분할표 작성 합, 비율의 계산 독립성 검정 피셔의 정확 검정 맥니마 검정 05 적합도 검정 카이 제곱 검정 샤피로 윌크 검정 콜모고로프 스미르노프 검정 Q-Q도 06 상관 분석 피어슨 상관 계수 스피어만 상관 계수 켄달의 순위 상관 계수 상관 계수 검정 07 추정 및 검정 일표본 평균 독립 이표본 평균 짝지은 이표본 평균 이표본 분산 일표본 비율 이표본 비율 참고자료
8장 선형 회귀
01 선형 회귀의 기본 가정 02 단순 선형 회귀 모델 생성 선형 회귀 결과 추출 예측과 신뢰 구간 모델 평가 분산 분석 및 모델 간의 비교 모델 진단 그래프 회귀 직선의 시각화 03 중선형 회귀 모델 생성 및 평가 범주형 변수 중선형 회귀 모델의 시각화 표현식을 위한 I( )의 사용 변수의 변환 상호 작용 04 이상치 05 변수 선택 변수 선택 방법 모든 경우에 대한 비교 참고자료
9장 분류 알고리즘 I: 데이터 탐색, 전처리, 모델 평가 방법 설정
01 데이터 탐색 기술 통계 데이터 시각화 02 전처리 데이터 변환 결측치의 처리 변수 선택 03 모델 평가 방법 평가 메트릭 ROC 커브 교차 검증 참고자료
10장 분류 알고리즘 II: 기계 학습 알고리즘
01 로지스틱 회귀 모델 02 다항 로지스틱 회귀 분석 03 의사 결정 나무 의사 결정 나무 모델 분류와 회귀 나무 조건부 추론 나무 랜덤 포레스트 04 신경망 신경망 모델 신경망 모델 학습 05 서포트 벡터 머신 서포트 벡터 머신 모델 서포트 벡터 머신 학습 06 클래스 불균형 업 샘플링, 다운 샘플링 SMOTE 07 문서 분류 코퍼스와 문서 문서 변환 문서의 행렬 표현 빈번한 단어 단어 간 상관관계 문서 분류 파일로부터 코퍼스 생성 메타 데이터 08 Caret 패키지 참고자료
11장 타이타닉 데이터를 사용한 기계 학습 실습
01 타이타닉 데이터 형식 02 데이터 불러오기 데이터 타입 지정 테스트 데이터의 분리 교차 검증 준비 03 데이터 탐색 04 평가 메트릭 05 의사 결정 나무 모델 rpart의 교차 검증 정확도 평가 조건부 추론 나무 06 또 다른 특징의 발견 ticket을 사용한 가족 식별 생존 확률 예측 가족 ID 부여 가족 구성원 생존 확률의 병합 가족 정보를 사용한 ctree( ) 모델링 성능 평가 07 교차 검증의 병렬화 10겹 교차 검증의 3회 반복 수행 foreach( )와 %dopar%를 사용한 병렬화 08 더 나은 알고리즘의 개발
참고자료
ㆍ지은이
서민구
소개
2007년부터 구글 코리아에서 소프트웨어 엔지니어로 일하고 있다. 국내 및 세계를 대상으로 검색 관련 제품들을 개발해왔고, 최근에는 자연어 처리 관련 업무를 수행하면서 사용자 쿼리에 어떤 답을 보여줄 경우 더 나은 검색 품질을 이룰 수 있을지를 연구하고 있다. 연세대학교와 카이스트에서 각각 컴퓨터과학 학사, 석사를 취득했고 이후 방송통신대학교에서 정보통계학 학사를 취득했다. Coursera 등의 MOOC에 적극적으로 참여하고 있다.
독자의견 남기기