길벗·이지톡

도서 IT전문서/IT입문서 데이터베이스/데이터분석

데이터 분석, R로 시작하자!

데이터 분석, R로 시작하자!

RStudio로 실습하면서 배우는 R 기초와 활용, 데이터 분석 기법!

 

R은 통계 분야에서 가장 많이 사용되는 언어로, 데이터를 다룰 때 유연하게 사용할 수 있으며 오프 소스, 패키지 등을 확장하여 풍부한 기능을 제공한다. 이 책은 데이터 읽기, 쓰기와 같은 기본적인 데이터 다루기부터 데이터 조작, 웹 스크레이핑을 이용한 데이터 수집까지 데이터 분석에 필요한 것을 배운다. 데이터 분석 외에도 평가 함수, 동적 스코핑을 구현하는 메타프로그래밍, 마크다운과 결합하여 동적 문서도 작성할 수 있다. 또한, 코드 성능을 측정하고 프로파일링, 병렬 컴퓨팅을 사용한 고성능 컴퓨팅까지 다룬다. 데이터 분석뿐만 아니라 기본부터 고급 프로그래밍 기법까지 폭넓게 다루고 있어서 실무에서 더 다양하고 유연하게 활용할 수 있다

목차

 

1장 빠르게 시작하기

1.1 R 소개하기

__1.1.1 프로그래밍 언어로서 R

__1.1.2 컴퓨팅 환경으로서 R

__1.1.3 커뮤니티로서 R

__1.1.4 생태계로서 R

1.2 R의 필요성

1.3 R 설치하기

1.4 RStudio

__1.4.1 RStudio의 사용자 인터페이스

__1.4.2 RStudio 서버

1.5 간단한 예

1.6 마치며

 

2장 기본 객체 알아보기

2.1 벡터

__2.1.1 수치형 벡터

__2.1.2 논리형 벡터

__2.1.3 문자형 벡터

__2.1.4 벡터의 서브세팅

__2.1.5 이름이 정해진 벡터

__2.1.6 원소 추출하기

__2.1.7 벡터의 클래스 알아보기

__2.1.8 벡터 변환하기

__2.1.9 수치형 벡터의 산술 연산

2.2 행렬

__2.2.1 행렬 만들기

__2.2.2 행과 열 이름 정하기

__2.2.3 행렬의 서브세팅

__2.2.4 행렬 연산자 활용하기

2.3 배열

__2.3.1 배열 만들기

__2.3.2 배열의 서브세팅

2.4 리스트

__2.4.1 리스트 만들기

__2.4.2 리스트에서 원소 추출하기

__2.4.3 리스트의 서브세팅

__2.4.4 이름이 정해진 리스트

__2.4.5 값 할당하기

__2.4.6 기타 함수

2.5 데이터 프레임

__2.5.1 데이터 프레임 만들기

__2.5.2 행과 열 이름 정하기

__2.5.3 데이터 프레임의 서브세팅

__2.5.4 값 설정하기

__2.5.5 요인

__2.5.6 데이터 프레임에 유용한 함수

__2.5.7 데이터 읽고 쓰기

2.6 함수

__2.6.1 함수 만들기

__2.6.2 함수 호출하기

__2.6.3 동적 타이핑

__2.6.4 함수 일반화

__2.6.5 함수 인수의 기본값

2.7 마치며

 

3장 작업 환경 활용하기

3.1 R의 작업 디렉터리

__3.1.1 RStudio에서 R 프로젝트 생성하기

__3.1.2 절대 경로와 상대 경로

__3.1.3 프로젝트 파일 관리하기

3.2 작업 환경 둘러보기

__3.2.1 이미 있는 기호 살펴보기

__3.2.2 객체 구조 보기

__3.2.3 기호 제거하기

3.3 전역 설정 수정하기

__3.3.1 표기되는 숫자 개수 조정하기

__3.3.2 경고 메시지 레벨 조정하기

3.4 패키지 라이브러리 관리하기

__3.4.1 패키지 이해하기

__3.4.2 CRAN에서 패키지 설치하기

__3.4.3 CRAN에서 패키지 업데이트하기

__3.4.4 온라인 저장소에서 패키지 설치하기

__3.4.5 패키지 함수 사용하기

__3.4.6 마스킹과 이름 충돌

__3.4.7 패키지 설치 여부 확인하기

3.5 마치며

 

4장 기본 표현식

4.1 할당 표현식

__4.1.1 대체 할당 연산자

__4.1.2 비표준 이름과 역따옴표 사용하기

4.2 조건 표현식

__4.2.1 if 문 사용하기

__4.2.2 if 조건식 사용하기

__4.2.3 벡터에 if 문 사용하기

__4.2.4 벡터화된 if: ifelse

__4.2.5 switch 문 사용하기

4.3 반복 표현식

__4.3.1 for 루프 사용하기

__4.3.2 while 루프 사용하기

4.4 마치며

 

5장 기본 객체 활용하기

5.1 객체 함수 사용하기

__5.1.1 객체 타입 알아보기

__5.1.2 데이터 차원 조사하기

5.2 논리 함수 사용하기

__5.2.1 논리 연산자

__5.2.2 논리 함수

__5.2.3 결측 값 다루기

__5.2.4 논리적 강제 변환

5.3 수학 함수 사용하기

__5.3.1 기본 함수

__5.3.2 숫자 반올림 함수

__5.3.3 삼각 함수

__5.3.4 쌍곡선 함수

__5.3.5 극한 함수

5.4 수치 해석 활용하기

__5.4.1 근 구하기

__5.4.2 미적분

5.5 통계 함수 사용하기

__5.5.1 벡터에서 샘플링하기

__5.5.2 랜덤 분포 이용하기

__5.5.3 요약 통계 계산

5.6 apply 계열 함수 활용하기

__5.6.1 lapply

__5.6.2 sapply

__5.6.3 vapply

__5.6.4 mapply

__5.6.5 apply

5.7 마치며

 

6장 문자열 다루기

6.1 문자열 시작하기

__6.1.1 텍스트 출력하기

__6.1.2 문자열 연결하기

__6.1.3 텍스트 변환하기

__6.1.4 텍스트 서식 지정하기

6.2 날짜/시간 서식

__6.2.1 텍스트에서 날짜/시간 분석하기

__6.2.2 날짜/시간을 문자열로 서식 변환하기

6.3 정규 표현식 사용하기

__6.3.1 문자열 패턴 찾기

__6.3.2 그룹을 사용하여 데이터 추출하기

__6.3.3 사용자 정의 방식으로 데이터 읽기

6.4 마치며

 

7장 데이터 다루기

7.1 데이터 읽고 쓰기

__7.1.1 파일에서 텍스트 데이터 읽고 쓰기

__7.1.2 엑셀 워크시트 읽기와 쓰기

__7.1.3 네이티브 데이터 파일 읽기와 쓰기

__7.1.4 내장 데이터셋 가져오기

7.2 데이터 시각화하기

__7.2.1 산점도 만들기

__7.2.2 선 그래프 만들기

__7.2.3 막대 그래프 그리기

__7.2.4 원 그래프 만들기

__7.2.5 히스토그램과 밀도 그래프 그리기

__7.2.6 상자 그림 그리기

7.3 데이터 분석하기

__7.3.1 선형 모델 피팅하기

__7.3.2 회귀 트리 피팅하기

7.4 마치며

 

8R 속으로

8.1 지연 평가 이해하기

8.2 수정 시 복사 메커니즘 이해하기

__8.2.1 함수 외부 객체 수정하기

8.3 렉시컬 스코핑 이해하기

8.4 환경의 동작 방식 이해하기

__8.4.1 환경 객체 파악하기

__8.4.2 환경을 만들고 연결하기

__8.4.3 환경 연결하기

__8.4.4 함수와 관련한 환경 이해하기

8.5 마치며

 

9장 메타프로그래밍

9.1 함수형 프로그래밍 이해하기

__9.1.1 클로저의 생성과 사용

__9.1.2 고차 함수 사용하기

9.2 언어 컴퓨팅

__9.2.1 표현식 캡처하고 수정하기

__9.2.2 표현식 평가하기

__9.2.3 비표준 평가 이해하기

9.3 마치며

 

10장 객체 지향 프로그래밍

10.1 객체 지향 프로그래밍 소개하기

__10.1.1 클래스와 메서드 이해하기

__10.1.2 상속 이해하기

10.2 S3 객체 시스템으로 작업하기

__10.2.1 제네릭 함수와 메서드 디스패치 이해하기

__10.2.2 내장 클래스와 메서드 활용하기

__10.2.3 기존 클래스에 대한 제네릭 함수 정의하기

__10.2.4 새로운 클래스의 객체 생성하기

10.3 S4로 작업하기

__10.3.1 S4 클래스 정의하기

__10.3.2 S4 상속 이해하기

__10.3.3 S4 제네릭 함수 정의하기

__10.3.4 다중 디스패치 이해하기

10.4 참조 클래스로 작업하기

10.5 R6로 작업하기

10.6 마치며

 

11장 데이터베이스 다루기

11.1 관계형 데이터베이스로 작업하기

__11.1.1 SQLite 데이터베이스 만들기

__11.1.2 테이블과 테이블 필드에 접근하기

__11.1.3 관계형 데이터베이스 쿼리를 위한 SQL 배우기

__11.1.4 쿼리 결과를 나누어서 가져오기

__11.1.5 일관성을 위해 트랜잭션 사용하기

__11.1.6 파일 데이터를 데이터베이스로 저장하기

11.2 NoSQL 데이터베이스로 작업하기

__11.2.1 MongoDB 작업하기

__11.2.2 Redis 사용하기

11.3 마치며

 

12장 데이터 조작하기

12.1 내장 함수로 데이터 프레임 조작하기

12.2 reshape2 패키지로 데이터 프레임 재구성하기

12.3 sqldf 패키지로 데이터 프레임 쿼리하기

12.4 data.table로 데이터 조작하기

__12.4.1 키를 사용하여 행에 접근하기

__12.4.2 그룹별로 데이터 요약하기

__12.4.3 data.table 재구성하기

__12.4.4 내부 세트 함수 사용하기

__12.4.5 data.table의 동적 스코핑 이해하기

12.5 dplyr 파이프라인으로 데이터 프레임 조작하기

12.6 rlist로 중첩된 데이터 구조에서 작업하기

12.7 마치며

 

13장 고성능 컴퓨팅

13.1 코드 성능 문제 이해하기

__13.1.1 코드 성능 측정하기

13.2 코드 프로파일링하기

__13.2.1 Rprof를 사용한 코드 프로파일링하기

__13.2.2 Profvis를 사용한 코드 프로파일링하기

__13.2.3 코드를 느리게 하는 원인 알아보기

13.3 코드 성능 높이기

__13.3.1 내장 함수 사용하기

__13.3.2 벡터화 사용하기

__13.3.3 바이트 코드 컴파일러 사용하기

__13.3.4 Intel MKL에 기반한 R 배포 사용하기

__13.3.5 병렬 컴퓨팅 사용하기

__13.3.6 Rcpp 사용하기

13.4 마치며

 

14장 웹 스크레이핑

14.1 웹 페이지 내부 살펴보기

14.2 CSS 선택자로 웹 페이지에서 데이터 추출하기

14.3 XPath 선택자 학습하기

14.4 HTML 코드 분석 및 데이터 추출하기

14.5 마치며

 

15장 생산성 향상

15.1 R 마크다운 문서 작성하기

__15.1.1 마크다운 알아보기

__15.1.2 마크다운에 R 통합하기

__15.1.3 테이블 및 그래프 추가하기

15.2 대화형 앱 만들기

__15.2.1 샤이니 앱 만들기

__15.2.2 shinydashboard 사용하기

15.3 마치며

더보기접기

저자

ㆍ지은이 쿤렌

지은이 소개
C++, C#과 함께 R을 사용해 퀀트 매매를 4년 동안 했으며, 커뮤니티에서 아직 개발되지 않은 유용한 R 패키지를 만들고자 매일 8~10시간 이상 열심히 일하고 있다. 다른 사람이 시작한 패키지 개발에도 참여하여 패키지를 개선하기 위한 여러 이슈를 제안하곤 한다. 중국에서 R 컨퍼런스 강사로 활동하며 여러 번 강연하기도 했다.

ㆍ옮긴이 이준용

옮긴이 소개
인공지능과 빅데이터 기술에 관심이 많은 연구원이다. 한국과학기술원(KAIST)에서 전자공학 박사학위를 받았다. 일본 ATR IRC 연구소에서 인간-로봇 상호작용 연구에 참여했으며 미국 아이오와 주립대학교에서 대사회로 관련 연구를 했다. 미국 퍼시픽 노스웨스트 국립연구소에서 연구원으로 수년간 근무하다가 지금은 실리콘벨리의 한 바이오텍에 합류하여 초기 암 진단을 위한 오믹스 연구를 위해 일하고 있다. 역서로 『비즈니스 데이터 과학』(2022), 『파이썬과 대스크를 활용한 고성능 데이터 분석』(2020), 『데이터 과학을 위한 통계』(2018), 『손에 잡히는 R 프로그래밍』(이상 한빛미디어, 2015), 『R 교과서』(2020, 길벗)가 있다.

연관 프로그램

아래 프로그램은 길벗출판사가 제공하는 것이 아닙니다.
무료로 사용할 수 있는 정보를 안내해 드리니, 지원이 필요하면 해당 프로그렘 제작사로 문의해 주세요.