본문 바로가기

리디 접속이 원활하지 않습니다.
강제 새로 고침(Ctrl + F5)이나 브라우저 캐시 삭제를 진행해주세요.
계속해서 문제가 발생한다면 리디 접속 테스트를 통해 원인을 파악하고 대응 방법을 안내드리겠습니다.
테스트 페이지로 이동하기

효율적인 R 프로그래밍 상세페이지

효율적인 R 프로그래밍작품 소개

<효율적인 R 프로그래밍> 효율적으로 프로그래밍한다는 것은 기존보다 조금 더 나아지는 것 그 이상으로 의미가 있다. 효율적인 작은 코드 하나가 수 십 배의 연산 속도를 향상시킬 수 있고 작은 효율적인 습관 하나가 팀 동료와의 협업을 쉽게 만들 수 있다.
이 책은 효율적인 코드 작성뿐만 아니라 개발자의 습관, 소통 방법까지도 효율적으로 수행 할 수 있는 방법을 제안한다. 또한, 효율적인 설정, 효율적인 프로그래밍, 효율적인 작업 흐름, 효율적인 입출력, 효율적으로 데이터 다루기, 최적화, 하드웨어 등 폭넓게 내용을 다룬다.
R의 효율성과 관련된 모든 것이 집대성 되어 있어 잠깐 유행하는 책이 아닌 오랜시간 많은 사람에게 큰 도움이 되는 책이 될 것이다.
R은 특히 효율적인 코드와 그렇지 않은 코드와의 연산 속도가 큰 언어이다. 다른 언어에서 찾아볼 수 없는 R만의 독특한 개념이 많기 때문이다. 이런 부분을 정확히 이해할 때 R을 온전히 이해하고 효율적인 코딩이 가능하다. 저자는 이런 부분을 놓치지 않고 독자를 올바른 길로 안내한다.
단순히 Tip을 알려주는 책이 아닌 핵심을 이해하고 바뀌도록 안내한다. 독자는 이 책을 읽음으로써 분명 큰 변화를 느낄 것이다. 그리고 프로젝트 때마다 한 자리 차지하는 든든한 친구가 될 것이다.


저자 소개

콜린 길렙시(Colin Gillespie)는 영국 뉴캐슬 대학교의 수석 강사(부교수)이다. 그의 관심 연구주제는 고성능 통계처리와 베이지안 통계이다. 그는 Jumping Rivers의 정직원이며 컨설턴트로 활동하고 있다. 그리고 2005년부터 초급 수준부터 고급 수준까지 다양한 수준의 R 프로그래밍을 가르쳐 왔다.
로빈 러브레이스(Robin Lovelace)는 리즈 교통 연구소(Leeds Institute for Transport Studies, ITS)의 연구원이자 리즈 데이터 분석 연구소(Leeds Institute for Data Analytics, LIDA)의 연구원이다. 로빈은 다년간 학술연구에 R을 활용해 왔으며 모든 수준의 R 강의 경험이 있고, 그 횟수도 수없이 많다. 그는 R을 활용한 공간정보 시각화 개요와 R을 활용한 공간 미세 시뮬레이션 (Lovelace and Dumont 2016)을 포함하여 유명한 R 자료를 여럿 만들었다. 해당 자료에 있는 여러 기술은 범국가적 실시간 온라인 지도 애플리케이션인 Propensity to Cycle Tool, stplanr패키지를 포함하여 여러 세계적인 프로젝트에 녹아 들어있다.

목차

저자 서문
역자 서문
01. 개요
사전 준비
1.1 본 서적의 대상 독자 및 사용 방법
1.2 효율성이란 무엇인가?
1.3 효율적인 R 프로그래밍이란 무엇인가?
1.4 왜 효율성인가?
1.5 효율성을 위한 상호 호환 기술
1.5.1 직접 타이핑하기
1.5.2 일관된 스타일과 코드 형식
1.6 벤치마킹과 프로파일링
1.6.1 벤치마킹
1.6.2 벤치마킹 예제
1.6.3 프로파일링
1.7 각종 자료
1.7.1 R 패키지
1.7.2 온라인 버전
02. 효율적인 컴퓨터를 위한 설정
사전 준비
2.1 효율적인 R 설정 핵심 팁 다섯 가지
2.2 운영체제
2.2.1 운영체제와 자원 모니터링
2.3 R 버전
2.3.1 R 설치
2.3.2 R 업데이트
2.3.3 R 패키지 설치
2.3.4 외부 종속이 있는 R 패키지 설치
2.3.5 R 패키지 업데이트
2.4 R 시동
2.4.1 R 시동 인자
2.4.2 R 시동 파일 개요
2.4.3 시동 파일 위치
2.4.4 .Rprofile 파일
2.4.5 .Rprofile 파일 사용 예
2.4.5.1 설정 관리
2.4.5.2 CRAN 미러 지정
2.4.5.3 fortunes 패키지
2.4.5.4 유용한 함수
2.4.5.5 .Rprofile를 이용한 숨겨진 환경 생성
2.4.6 .Renviron 파일
2.4.6.1 .Renviron 파일 사용 예
2.5 RStudio
2.5.1 RStudio의 설치와 업데이트
2.5.2 작업 창 배치
2.5.3 RStudio 설정
2.5.4 자동 완성
2.5.5 키보드 단축키
2.5.6 객체 표시 및 표 출력
2.5.7 프로젝트 관리
2.6 BLAS와 기타 R 인터프리터
2.6.1 BLAS을 사용한 성능 개선 확인
2.6.2 다른 인터프리터
2.6.3 유용한 BLAS/벤치마크 자료
03. 효율적인 프로그래밍
사전준비
3.1 효율적인 프로그래밍을 위한 핵심 팁 다섯 가지
3.2 일반적인 조언
3.2.1 메모리 할당
3.2.2 코드의 벡터화
3.3 사용자와 소통하기
3.3.1 치명적인 오류: stop()
3.3.2 경고: warning()
3.3.3 정보성 출력 : message()와 cat()
3.3.4 보이지 않는 반환값
3.4 팩터
3.4.1 변수에 내재 된 순서가 있는 경우
3.4.2 범주 데이터가 고정된 경우
3.5 apply 계열 함수
3.5.1 예제: 영화 데이터
3.5.2 입출력 자료형의 일관성
그 외 참고자료
3.6 변수 캐싱
3.6.1 함수 클로저
3.7 바이트 컴파일러
3.7.1 예제 : 평균 함수
3.7.2 코드 컴파일
04. 효율적인 작업 흐름
사전 준비
4.1 효율적인 작업 흐름을 위한 핵심 팁 다섯 가지
4.2 프로젝트 계획 분류 체계
4.3 프로젝트 계획 및 관리
4.3.1 작업 분할
4.3.2 SMART 한 작업 흐름 만들기
4.3.3 R을 활용한 계획 시각화
4.4 패키지 선택
4.4.1 필요한 R 패키지 찾기
4.4.2 패키지 선택 방법
4.5 출판
4.5.1 R 마크다운을 이용한 동적 문서
4.5.2 R 패키지
05. 효율적인 입출력
사전 준비
5.1 효율적인 데이터 입출력을 위한 핵심 팁 다섯 가지
5.2 rio 패키지로 다양한 데이터 가져오기
5.3 텍스트 파일 형식
5.3.1 fread() 함수와 read_csv() 함수의 차이점
5.3.2 매우 큰 텍스트 파일의 전처리
5.4 바이너리 파일 형식
5.4.1 내장 바이너리 형식: Rdata? Rds?
5.4.2 feather 파일 형식
5.4.3 바이너리 파일 형식 벤치마크
5.4.4 프로토콜 버퍼
5.5 인터넷에서 데이터 가져오기
5.6 패키지에 포함된 데이터 사용하기
06. 효율적인 데이터 다듬기
사전 준비
6.1 효율적인 데이터 다듬기를 위한 핵심 팁 다섯 가지
6.2 tibble을 이용한 효율적인 자료구조
6.3 tidyr과 정규표현식을 이용한 데이터 정돈
6.3.1 gather()를 이용한 넓은 표를 긴 형태로 변환
6.3.2 separate()를 이용한 결합 변수 분리
6.3.3 기타 tidyr 함수
6.3.4 정규 표현식
6.4 dplyr을 이용한 효율적인 데이터 처리
6.4.1 열 이름 변경
6.4.2 열의 클래스 변경
6.4.3 행 필터링
6.4.4 연산자 연계
6.4.5 데이터 요약
6.4.6 비표준 평가
6.5 데이터 세트 결합
6.6 데이터베이스를 이용한 작업
6.6.1 데이터베이스와 dplyr
6.7 data.table을 이용한 데이터 처리
07. 효율적인 최적화
사전 준비
7.1 효율적인 성능 향상을 위한 핵심 팁 다섯 가지
7.2 코드 프로파일링
7.2.1 profvis로 시작하기
7.2.2 예제: 모노폴리 시뮬레이션
7.3 효율적인 R의 기본 함수
7.3.1 if()와 ifelse()
7.3.2 정렬 및 순서
7.3.3 내림차순 정렬
7.3.4 TRUE 색인
7.3.5 팩터형의 수치형 변환
7.3.6 논리형 AND와 OR
7.3.7 행/열 연산
7.3.8 is.na()와 anyNA()
7.3.9 매트릭스
7.3.10 정수형
7.3.11 희소 행렬
7.4 예제 : move_square() 함수 최적화
7.5 병렬 처리
7.5.1 apply 함수의 병렬 버전
7.5.2 예제: 뱀과 사다리 게임(Snakes and Ladders)
7.5.3 종료 함수 및 주의점
7.5.4 Linux와 OS X 환경의 병렬 코드
7.6 Rcpp
7.6.1 간단한 C++ 함수
7.6.2 cppFunction() 함수
7.6.3 C++ 데이터형
7.6.4 sourceCpp() 함수
7.6.5 벡터와 반복문
7.6.6 행렬
7.6.7 C++의 달콤한 문법
7.6.8 Rcpp 참고 자료
08. 효율적인 하드웨어
사전 준비
8.1 효율적인 하드웨어를 위한 핵심 팁 다섯 가지
8.2 배경 지식: 바이트란 무엇인가?
8.3 랜덤 엑세스 메모리: RAM
8.4 하드디스크: HDD vs SSD
8.5 운영 체제: 32비트/64비트
8.6 중앙 처리 장치
8.7 클라우드 컴퓨팅
8.7.1 아마존 EC2
09. 효율적인 협업
사전 준비
9.1 효율적인 협업을 위한 핵심 팁 다섯 가지
9.2 코딩 스타일
9.2.1 RStudio를 사용한 코드 재구성
9.2.2 파일명
9.2.3 패키지 불러오기
9.2.4 주석 달기
9.2.5 객체명
9.2.6 예제 패키지
9.2.7 할당
9.2.8 공백
9.2.9 들여쓰기
9.2.10 중괄호
9.3 버전 관리
9.3.1 Commit
9.3.2 RStudio에서 Git 통합
9.3.3 깃허브
9.3.4 Branch, Fork, Pull, Clone
9.4 코드 검토
10. 효율적인 학습
사전 준비
10.1 효율적인 학습을 위한 핵심 팁 다섯 가지
10.2 R 도움말 사용하기
10.2.1 주제별 R 탐색
10.2.2 비네트 탐색 및 사용
10.2.3 함수의 도움말 페이지
10.2.4 R 소스 코드 읽기
10.2.5 Swirl
10.3 온라인 자료
10.3.1 스택오버플로우
10.3.2 메일링 리스트와 그룹
10.4 질문하기
10.4.1 데이터 세트의 최소화
10.4.2 예제의 최소화
10.5 심화 학습
10.6 지식의 확산
소스 코드 빌드
의존 패키지
참고자료


리뷰

구매자 별점

0.0

점수비율
  • 5
  • 4
  • 3
  • 2
  • 1

0명이 평가함

리뷰 작성 영역

이 책을 평가해주세요!

내가 남긴 별점 0.0

별로예요

그저 그래요

보통이에요

좋아요

최고예요

별점 취소

구매자 표시 기준은 무엇인가요?

'구매자' 표시는 리디에서 유료도서 결제 후 다운로드 하시거나 리디셀렉트 도서를 다운로드하신 경우에만 표시됩니다.

무료 도서 (프로모션 등으로 무료로 전환된 도서 포함)
'구매자'로 표시되지 않습니다.
시리즈 도서 내 무료 도서
'구매자’로 표시되지 않습니다. 하지만 같은 시리즈의 유료 도서를 결제한 뒤 리뷰를 수정하거나 재등록하면 '구매자'로 표시됩니다.
영구 삭제
도서를 영구 삭제해도 ‘구매자’ 표시는 남아있습니다.
결제 취소
‘구매자’ 표시가 자동으로 사라집니다.

이 책과 함께 구매한 책


이 책과 함께 둘러본 책



본문 끝 최상단으로 돌아가기

spinner
모바일 버전