서브메뉴

본문

손에 잡히는 R 프로그래밍 (주사위, 카드놀이, 슬롯머신을 만들면서 배우는 R 언어)
손에 잡히는 R 프로그래밍 (주사위, 카드놀이, 슬롯머신을 만들면서 배우는 R 언어)
저자 : 가렛 그롤먼드
출판사 : 한빛미디어
출판년 : 2015
ISBN : 9788968481642

책소개

[손에 잡히는 R 프로그래밍]은 데이터를 로딩하는 방법부터 자신만의 함수(다른 R 사용자의 함수를 능가하는)를 작성하는 방법까지 R 프로그래밍에 대해 소개한 책이다. 책은 3가지 실용적인 프로젝트에 맞춰 구성되었다. 책은 데이터를 로딩하는 법, 데이터 객체들을 조합하고 해체하는 법, R의 환경시스템을 다루는 법, 함수를 작성하는 법, 그리고 if else 문, 반복문, S3 클래스, R 패키지 시스템, R 디버깅 도구와 같은 R 프로그래밍 도구들을 사용하는 방법을 알려주고, R 코드 벡터화와 같이 R의 장점을 극대화할 수 있는 빠른 코드 양식도 다루고 있다.
[교보문고에서 제공한 정보입니다.]

출판사 서평

이 책은 R 프로그래밍에 대한 전반적인 내용을 다루면서도, 프로그래밍을 아예 처음 접하는 사
람부터 프로그래밍은 많이 해왔지만 R 언어는 익숙하지 않은 사람까지 모두 부담 없이 시작할
수 있는 입문서다.

출판사 리뷰

왜 이 책을 읽어야 할까?

R 책을 한 권 다 떼도 코드 한 줄 짜지 못한 경험이 있던가? R을 배워야 하는데 너무 두꺼운 책에 질려 피일차일 미룬 적이 있던가? 그렇다면 이 책이 여러분에게 필요하다. 이 책은 프로그래밍 경험이 전혀 없는 사람도 R에 입문하여 재미있는 카드 놀이 프로그램을 단계적으로 구축할 수 있게 구성되어 있기 때문이다. 그 과정에서 문자열, 배열 같은 문법뿐만 아니라 랜덤, 셔플, 어택치 등 다양한 함수를 실제 프로그램에 어떻게 유용하게
이용하는 알게 될 것이다.

이 책은 R 프로그래밍을 알려 준다.
데이터를 로딩하는 방법부터 자신만의 함수(다른 R 사용자의 함수를 능가하는)를 작성하는 방법까지 다룬다. R에 대한 통상적인 소개서들과는 다를 것이다. 여러분이 컴퓨터과학자면서 동시에 데이터과학자가 되도록 돕기를 원한다. 이를 위해 데이터과학과 밀접한 관련이 있는 프로그래밍 기술에 초점을 맞출 것이다.

3가지 실용적인 프로젝트에 맞춰 구성되었다.
각 프로젝트는 꽤 커서 여러 장에 걸쳐 있다. 이러한 프로젝트를 고른 데에는 두 가지 이유가 있다. 먼저 R 언어의 넓은 범위를 커버하기 때문이었다. 데이터를 로딩하는 법, 데이터 객체들을 조합하고 해체하는 법, R의 환경시스템을 다루는 법, 함수를 작성하는 법, 그리고 if else 문, 반복문, S3 클래스, R 패키지 시스템, R 디버깅 도구와 같은 R 프로그래밍 도구들을 사용하는 방법을 모두 배우게 된다. 또한 R 코드 벡터화와 같이 R의 장점을 극대화할 수 있는 정말 빠른 코드 양식도 배우게 된다.

[대상독자]
1. 이미 통계 용도로 R을 사용하고는 있지만, 자신만의 함수나 시뮬레이션을 작성하는 방법을 배우고 싶은 분
2. 프로그래밍하는 법을 혼자 공부하기 원하는 분. 이런 분은 데이터과학 관련 언어를 어떻게 배워야 하는지 알게 될 것이다.
3. R로 프로그램을 만들고 싶은 개발자와 데이터과학자

추천평
제대로 된 데이터분석을 하려면 프로그래밍을 배워야 한다. 데이터과학을 위해서 컴퓨터 사용이 필수라는 사실에 이견을 다는 사람은 없을 것이다. 그러므로 기존 프로그램의 GUI 사용법을 배우든 프로그래밍 언어를 배우든 둘 중 하나는 해야 한다. 가렛과 나는 프로그래밍 기술이야 말로 데이터를 다루는 모든 사람에게 필수라는 강한 신념을 가지고 있다. 간편하긴 하지만 GUI는 근본적으로 제약이 많다. 왜냐하면 양질의 데이터분석을 위해 반드시 필요한 다음 3가지 요소를 방해하기 때문이다.

- 재현성(Reproducibility) : 과거 분석을 그대로 재현할 수 있는지 나타내며 좋은 연구를 위해 결정적이다.
- 자동화(Automation) : 데이터가 (늘 그렇듯) 변하더라도 빠르게 다시 분석을 해낼 수 있는 능력을 말한다.
- 정보 전달(Communication) : 코드는 그저 텍스트다. 이메일이나 구글, 스택 오버플로 등 많은 곳을 통해 쉽게 주고받을 수 있으며, 또한 배우면서 도움을 받기도 쉽다.

프로그래밍을 겁내지 마라! 정확한 동기와 의지만 있다면 누구나 배울 수 있다. 이 책은 여러분의 동기를 북돋아 줄 것이다. 그냥 참고서와는 다르다. 직접 해 볼 수 있는 3가지 프로젝트를 중심으로 구성되어 있다. 이 프로젝트를 통해 R 프로그래밍의 기초부터 코드 벡터화, 스코핑, S3 기법과 같은 중급 내용까지 다루게 된다. 실제로 해 보는 것이 배우는 데 가장 효과적인 방법이다. 왜냐하면 상황과는 아무 상관없이 무턱대고 기능들만 외우는 것보다는 실제로 주어진 어떤 문제를 해결하기 위해 기능들을 하나씩 익혀나갈 수 있기 때문이다. 단순히 읽는 것이 아니라 직접 하면서 체득하게 될 것이다.
프로그래밍을 배우다 보면 좌절을 맛보게 될 것이다. 새로운 언어를 배우는 것이기 때문에 유창하게 구사하기 위해서는 시간이 필요한 것이다. 그렇다고 좌절하기 위해 태어난 사람은 없지 않은가! 좌절은 차분히 궁리해 볼 긍정적인 신호다. 좌절은 뇌가 좀 쉬고 싶다는 것, 그만하고 쉽고 재미있는 것을 하고 싶다고 예기하는 것일 뿐이다. 몸짱이 되려면 몸이 좀 불평하더라도 몸을 몰아붙여야 한다. 만약 프로그래밍을 더 잘 하고 싶다면 뇌를 다그칠 필요가 있다. 좌절이 몰려올 때 그것을 기억하고, 기지개를 한 번 크게 켜자. 매일 조금씩 자신을 밀어붙이길 바란다. 곧 자신감 넘치는 프로그래머가 되어 있을 것이다.
이 책은 친구처럼 친절하고 서로 대화하듯 살아 있다. 나나 가렛을 직접 만나 배우는 것 다음으로 R 프로그래밍을 배우기에 가장 좋은 방법일 것이다. 내가 그랬듯, 즐겁게 읽어 나가기 바란다.
_해들리 워크햄, RStudio 수석 과학자
[교보문고에서 제공한 정보입니다.]

목차정보

[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 코드 디버깅
[알라딘에서 제공한 정보입니다.]