HOME > 상세정보

상세정보

효율적인 R 프로그래밍 : 보다 현명한 프로그래밍을 위한 실용적인 가이드 (14회 대출)

자료유형
단행본
개인저자
Lovelace, Robin Gillespie, Colin (Colin Stevenson), 저 김승욱, 역 박찬엽, 역 권경모, 역 함상우, 역 나성호, 역
단체저자명
R-KOR 팀, 역
서명 / 저자사항
효율적인 R 프로그래밍 : 보다 현명한 프로그래밍을 위한 실용적인 가이드 / 로빈 러브 레이스, 콜린 길렙시 지음; R-KOR 팀 번역
발행사항
남양주 :   느린생각,   2018  
형태사항
320 p. : 삽화 ; 24 cm
원표제
Efficient R programming : a practical guide to smarter programming
ISBN
9791187139133
일반주기
R-KOR 팀: 김승욱, 박찬엽, 권경모, 함상우, 나성호  
부록: A. 소스 코드 빌드  
서지주기
참고문헌: p. 314-320
일반주제명
R (Computer program language)
000 00000nam c2200205 c 4500
001 000045945054
005 20220207105325
007 ta
008 180620s2018 ggka 000c kor
020 ▼a 9791187139133 ▼g 93000
040 ▼a 211009 ▼c 211009 ▼d 211009 ▼d 211092
041 1 ▼a kor ▼h eng
082 0 4 ▼a 005.13/3 ▼2 23
085 ▼a 005.133 ▼2 DDCK
090 ▼a 005.133 ▼b R9 2018
100 1 ▼a Lovelace, Robin
245 1 0 ▼a 효율적인 R 프로그래밍 : ▼b 보다 현명한 프로그래밍을 위한 실용적인 가이드 / ▼d 로빈 러브 레이스, ▼e 콜린 길렙시 지음; ▼e R-KOR 팀 번역
246 1 9 ▼a Efficient R programming : ▼b a practical guide to smarter programming
246 3 0 ▼a R 프로그래밍
260 ▼a 남양주 : ▼b 느린생각, ▼c 2018
300 ▼a 320 p. : ▼b 삽화 ; ▼c 24 cm
500 ▼a R-KOR 팀: 김승욱, 박찬엽, 권경모, 함상우, 나성호
500 ▼a 부록: A. 소스 코드 빌드
504 ▼a 참고문헌: p. 314-320
650 0 ▼a R (Computer program language)
700 1 ▼a Gillespie, Colin ▼q (Colin Stevenson), ▼e
700 1 ▼a 김승욱, ▼e
700 1 ▼a 박찬엽, ▼e
700 1 ▼a 권경모, ▼e
700 1 ▼a 함상우, ▼e
700 1 ▼a 나성호, ▼e
710 ▼a R-KOR 팀, ▼e
900 1 0 ▼a 러브 레이스, 로빈, ▼e
900 1 0 ▼a 길렙시, 콜린, ▼e
910 0 ▼a R Korea 번역팀, ▼e
945 ▼a KLPA

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 중앙도서관/제2자료실(3층)/ 청구기호 005.133 R9 2018 등록번호 111792921 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 의학도서관/실험실습자료/ 청구기호 구로 외과 005.133 R9 2018 등록번호 931003525 도서상태 대출불가(열람가능) 반납예정일 예약 서비스 M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 중앙도서관/제2자료실(3층)/ 청구기호 005.133 R9 2018 등록번호 111792921 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 의학도서관/실험실습자료/ 청구기호 구로 외과 005.133 R9 2018 등록번호 931003525 도서상태 대출불가(열람가능) 반납예정일 예약 서비스 M

컨텐츠정보

책소개

효율적인 코드 작성뿐만 아니라 개발자의 습관, 소통 방법까지도 효율적으로 수행 할 수 있는 방법을 제안한다. 또한, 효율적인 설정, 효율적인 프로그래밍, 효율적인 작업 흐름, 효율적인 입출력, 효율적으로 데이터 다루기, 최적화, 하드웨어 등 폭넓게 내용을 다룬다.

R은 특히 효율적인 코드와 그렇지 않은 코드와의 연산 속도가 큰 언어이다. 다른 언어에서 찾아볼 수 없는 R만의 독특한 개념이 많기 때문이다. 이런 부분을 정확히 이해할 때 R을 온전히 이해하고 효율적인 코딩이 가능하다.

효율적으로 프로그래밍한다는 것은 기존보다 조금 더 나아지는 것 그 이상으로 의미가 있다. 효율적인 작은 코드 하나가 수 십 배의 연산 속도를 향상시킬 수 있고 작은 효율적인 습관 하나가 팀 동료와의 협업을 쉽게 만들 수 있다.

이 책은 효율적인 코드 작성뿐만 아니라 개발자의 습관, 소통 방법까지도 효율적으로 수행 할 수 있는 방법을 제안한다. 또한, 효율적인 설정, 효율적인 프로그래밍, 효율적인 작업 흐름, 효율적인 입출력, 효율적으로 데이터 다루기, 최적화, 하드웨어 등 폭넓게 내용을 다룬다.

R의 효율성과 관련된 모든 것이 집대성 되어 있어 잠깐 유행하는 책이 아닌 오랜시간 많은 사람에게 큰 도움이 되는 책이 될 것이다.

R은 특히 효율적인 코드와 그렇지 않은 코드와의 연산 속도가 큰 언어이다. 다른 언어에서 찾아볼 수 없는 R만의 독특한 개념이 많기 때문이다. 이런 부분을 정확히 이해할 때 R을 온전히 이해하고 효율적인 코딩이 가능하다. 저자는 이런 부분을 놓치지 않고 독자를 올바른 길로 안내한다.

단순히 Tip을 알려주는 책이 아닌 핵심을 이해하고 바뀌도록 안내한다. 독자는 이 책을 읽음으로써 분명 큰 변화를 느낄 것이다. 그리고 프로젝트 때마다 한 자리 차지하는 든든한 친구가 될 것이다.

이 책은 참 올바른 방법으로 출판된 책이다. R관련 한 커뮤니티에서 한 유저가 책에 대한 번역을 제안했고 여러 사람이 모여 공동으로 번역을 했다. 좋은 책을 한국 독자에게 소개하고 싶은 그들의 마음이 고스란히 책에 담겼다.
커뮤니티가 주도하여 만든 책은 살아있는 생물 같다. 서로 묻고 답하며 고쳐지고 발전하여 여러 사람을 이롭게 만들 것이다. 이것이 지식의 올바른 근본이고 목표이지 싶다.
이 좋은 뜻을 이루는데 여러 사람의 노고가 있었다. 이 노고는 오랫동안 데이터를 다루는 모든 사람에게 길라잡이가 빛이 비칠 것이다.


정보제공 : Aladin

저자소개

로빈 러브레이스(지은이)

리즈 교통 연구소(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패키지를 포함하여 여러 세계적인 프로젝트에 녹아 들어있다

콜린 길렙시(지은이)

영국 뉴캐슬 대학교의 수석 강사(부교수)이다. 그의 관심 연구주제는 고성능 통계처리와 베이지안 통계이다. 그는 Jumping Rivers의 정직원이며 컨설턴트로 활동하고 있다. 그리고 2005년부터 초급 수준부터 고급 수준까지 다양한 수준의 R 프로그래밍을 가르쳐 왔다.

R Korea 번역팀(옮긴이)

정보제공 : Aladin

목차

저자 서문 
역자 서문 

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 지식의 확산 

소스 코드 빌드 
의존 패키지 
참고자료

관련분야 신착자료