왜 이 책을 읽어야 할까?
R 책을 한 권 다 떼도 코드 한 줄 짜지 못한 경험이 있던가? R을 배워야 하는데 너무 두꺼운 책에 질려 피일차일 미룬 적이 있던가? 그렇다면 이 책이 여러분에게 필요하다. 이 책은 프로그래밍 경험이 전혀 없는 사람도 R에 입문하여 재미있는 카드 놀이 프로그램을 단계적으로 구축할 수 있게 구성되어 있기 때문이다. 그 과정에서 문자열, 배열 같은 문법뿐만 아니라 랜덤, 셔플, 어태치 등 다양한 함수를 실제 프로그램에 어떻게 유용하게 이용하는지 알게 될 것이다.
이 책은 R 프로그래밍을 알려 준다.
데이터를 로딩하는 방법부터 자신만의 함수(다른 R 사용자의 함수를 능가하는)를 작성하는 방법까지 다룬다. R에 대한 통상적인 소개서들과는 다를 것이다. 여러분이 컴퓨터과학자면서 동시에 데이터과학자가 되도록 돕기를 원한다. 이를 위해 데이터과학과 밀접한 관련이 있는 프로그래밍 기술에 초점을 맞출 것이다.
3가지 실용적인 프로젝트에 맞춰 구성되었다.
각 프로젝트는 꽤 커서 여러 장에 걸쳐 있다. 이러한 프로젝트를 고른 데에는 두 가지 이유가 있다. 먼저 R 언어의 넓은 범위를 커버하기 때문이었다. 데이터를 로딩하는 법, 데이터 객체들을 조합하고 해체하는 법, R의 환경시스템을 다루는 법, 함수를 작성하는 법, 그리고 if else 문, 반복문, S3 클래스, R 패키지 시스템, R 디버깅 도구와 같은 R 프로그래밍 도구들을 사용하는 방법을 모두 배우게 된다. 또한 R 코드 벡터화와 같이 R의 장점을 극대화할 수 있는 정말 빠른 코드 양식도 배우게 된다.
【대상독자】
Part I 프로젝트 1: 조작된 주사위
1장. 기초
1.1 R 유저 인터페이스
1.2 객체
1.3 함수
1.4 복원 표본 추출
1.5 자신만의 함수 작성하기
1.6 인수
1.7 스크립트
1.8 마치며
2장. 패키지와 도움말
2.1 패키지
2.2 도움말 사용하기
2.3 마치며
2.4 프로젝트 1을 마무리하며
Part II 프로젝트 2: 카드놀이
3장. R 객체
3.1원자 벡터
3.2 속성
3.3 행렬
3.4 배열
3.5 클래스
3.6 강제 변환
3.7 리스트
3.8 데이터 프레임
3.9 데이터 불러오기
3.10 데이터 저장하기
3.11 마치며
4장. R 표기법
4.1 값 선택하기
4.2 카드 나눠 주기
4.3 카드 섞기
4.4 달러 기호와 이중 괄호
4.5 마치며
5장. 데이터 수정하기
5.1 제자리에서 값 변경하기
5.2 논리 서브세팅
5.3
5.4 마치며
6장. 환경
6.1 환경
6.2 환경 다루기
6.3 스코핑 규칙
6.4 할당
6.5 실행
6.6 클로저
6.7 마치며
6.8 프로젝트 2를 마무리하며
Part III 프로젝트 3: 슬롯머신
7장. 프로그램
7.1 전략
7.2 if 문
7.3 else 문
7.4 검색 테이블
7.5 코드 주석
7.6 마치며
8장. S3
8.1 S3 시스템
8.2 속성
8.3 제네릭 함수
8.4 메서드
8.5 클래스
8.6 S3와 디버깅
8.7 S4와 R5
8.8 마치며
9장. 반복문
9.1 기댓값
9.2 expand.grid
9.3 for 문
9.4 while 문
9.5 repeat 문
9.6 마치며
10장. 속도 향상
10.1 코드 벡터화
10.2 벡터화된 코드 작성법
10.3 R에서 for 문의 속도를 개선하는 방법
10.4 실전에서 코드 벡터화하기
10.5 마치며
10.6 프로젝트 3을 마무리하며
부록
Appendix A R과 RStudio 설치하기
Appendix B R 패키지
Appendix C R과 패키지 업데이트
Appendix D 데이터 불러오기와 저장하기
Appendix E R 코드 디버깅
사카마키 류지 , 사토 요헤이