HOME > 상세정보

상세정보

(데이터 고급 분석과 통계 프로그래밍을 위한) 빅데이터 분석 도구 R 프로그래밍 (293회 대출)

자료유형
단행본
개인저자
Matloff, Norman S. 권정민, 역
서명 / 저자사항
(데이터 고급 분석과 통계 프로그래밍을 위한) 빅데이터 분석 도구 R 프로그래밍 / 노만 매트로프 지음 ; 권정민 옮김
발행사항
의왕 :   에이콘,   2012   (2016 4쇄)  
형태사항
497 p. : 삽화, 도표 ; 25 cm
총서사항
에이콘 클라우드 컴퓨팅 시리즈 ;7
원표제
The art of R programming : tour of statistical software design
ISBN
9788960773332 9788960772793 (세트)
일반주기
부록: 1. R 설치하기, 2. 패키지 설치 및 사용  
색인수록  
일반주제명
Statistics --Data processing R (Computer program language)
000 00000cam c2200205 c 4500
001 000045720121
005 20160908114822
007 ta
008 120919s2012 ggkad 001c kor
020 ▼a 9788960773332 ▼g 94560
020 1 ▼a 9788960772793 (세트)
035 ▼a (KERIS)BIB000012894810
040 ▼a 211032 ▼d 211009 ▼c 211009
041 1 ▼a kor ▼h eng
082 0 4 ▼a 519.50285/51/33 ▼2 23
085 ▼a 519.5028551 ▼2 DDCK
090 ▼a 519.5028551 ▼b 2012
100 1 ▼a Matloff, Norman S.
245 2 0 ▼a (데이터 고급 분석과 통계 프로그래밍을 위한) 빅데이터 분석 도구 R 프로그래밍 / ▼d 노만 매트로프 지음 ; ▼e 권정민 옮김
246 1 9 ▼a The art of R programming : ▼b tour of statistical software design
246 3 ▼a 빅데이터 분석 도구 알 프로그래밍
246 3 ▼a 데이터 고급 분석과 통계 프로그래밍을 위한 빅데이터 분석 도구 알 프로그래밍
246 3 9 ▼a Art of R programming
260 ▼a 의왕 : ▼b 에이콘, ▼c 2012 ▼g (2016 4쇄)
300 ▼a 497 p. : ▼b 삽화, 도표 ; ▼c 25 cm
440 0 0 ▼a 에이콘 클라우드 컴퓨팅 시리즈 ; ▼v 7
500 ▼a 부록: 1. R 설치하기, 2. 패키지 설치 및 사용
500 ▼a 색인수록
650 0 ▼a Statistics ▼x Data processing
650 0 ▼a R (Computer program language)
700 1 ▼a 권정민, ▼e▼0 AUTH(211009)55950
900 1 0 ▼a 매트로프, 노만, ▼e
945 ▼a KLPA

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 중앙도서관/제2자료실(3층)/ 청구기호 519.5028551 2012 등록번호 111695441 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 중앙도서관/제2자료실(3층)/ 청구기호 519.5028551 2012 등록번호 111761457 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 3 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 519.5028551 2012 등록번호 121221163 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 4 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 519.5028551 2012 등록번호 121224343 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 5 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 519.5028551 2012 등록번호 121229502 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 6 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 519.5028551 2012 등록번호 121230599 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 7 소장처 세종학술정보원/과학기술실/ 청구기호 519.5028551 2012 등록번호 151311228 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 8 소장처 세종학술정보원/학과비치/ 청구기호 응용통계학과 519.5028551 2012 등록번호 151312397 도서상태 대출불가(별치) 반납예정일 예약 서비스 M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 중앙도서관/제2자료실(3층)/ 청구기호 519.5028551 2012 등록번호 111695441 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 중앙도서관/제2자료실(3층)/ 청구기호 519.5028551 2012 등록번호 111761457 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 519.5028551 2012 등록번호 121221163 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 519.5028551 2012 등록번호 121224343 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 3 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 519.5028551 2012 등록번호 121229502 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 4 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 519.5028551 2012 등록번호 121230599 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 세종학술정보원/과학기술실/ 청구기호 519.5028551 2012 등록번호 151311228 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 세종학술정보원/학과비치/ 청구기호 응용통계학과 519.5028551 2012 등록번호 151312397 도서상태 대출불가(별치) 반납예정일 예약 서비스 M

컨텐츠정보

책소개

통계 프로그래밍 언어인 R의 활용과 R을 사용한 소프트웨어 개발, R의 언어적 측면까지 쉽게 배울 수 있는 R에 관한 최고의 책. 통계학을 잘 몰라도 프로그래밍에 관한 초보적인 지식만 있다면 쉽게 익힐 수 있다. 이 책에서는 R에서 사용하는 기본적인 데이터 구조부터 함수형 프로그래밍과 객체지향 프로그래밍 개념, 수학적 시뮬레이션, 그리고 복잡한 데이터를 단순하고 유용한 형태로 재배치하는 R의 활용법 등에 대한 내용까지 다양하게 다룬다.

데이터를 길들여라!

R은 통계 소프트웨어 개발용으로 쓰이는 세계에서 가장 유명한 언어다. 고대 문명의 확산 경향을 추적하는 고고학자, 어떤 약이 안전하고 효과적인지 찾아내는 제약사 등 모두 R을 사용한다. 자산 리스크를 평가하고 시장에서의 변동률을 안정성 있게 유지하려는 보험 설계사 또한 R을 사용한다.

『빅데이터 분석 도구 R 프로그래밍』에서는 R을 사용한 소프트웨어 개발에 대해 기본적인 유형 및 데이터 구조부터 클로저, 재귀, 무기명 함수 같은 어려운 주제까지 모두 다룬다. 통계적 지식은 전혀 필요하지 않으며, 프로그래밍에 대해서도 초보자든 프로든 상관없다.

이 책에서 설명하는 내용을 그대로 따라가다 보면, 함수형 프로그래밍과 객체지향 프로그래밍, 수학적 시뮬레이션, 복잡한 데이터를 보다 단순하고 유용한 형태로 재배치하는 법까지 모두 배울 수 있을 것이다.

비행기를 설계하거나 날씨를 예측하거나, 혹은 간단히 데이터를 길들이는 등 수많은 분야에서 『빅데이터 분석 도구 R 프로그래밍』은 통계 컴퓨팅의 능력을 활용할 수 있는 진정한 가이드가 되어줄 것이다.

★ 이 책에서 다루는 내용 ★

■ 복잡한 데이터 세트와 함수를 시각화하는 예술적인 그래프 만들기
■ 병렬 R과 벡터화를 통한 좀더 효율적인 코드 작성
■ 코드 속도 및 기능 향상을 위한 R과 C/C++, 파이썬과의 인터페이스
■ 텍스트 분석, 이미지 수정 등을 위한 패키지 찾기
■ 개선된 디버깅 기술을 활용해 귀찮은 버그 찾아 고치기


★ 이 책의 대상 독자 ★

많은 사람이 R을 주로 임시변통으로 사용한다. 히스토그램을 그리거나 회귀분석을 한다든가, 통계 기능 등 다양한 용도로 사용하는 식이다. 그러나 이 책은 R로 소프트웨어를 개발하는 사람들을 위해 기획됐다. 이 책은 전문적인 소프트웨어 개발자부터 대학에서 프로그래밍 수업을 한 번쯤 들어 본 사람까지 모두를 대상으로 한다. 그 중에서도 '특정한 목적을 갖고 R 코드를 작성하려는 사람'이라면 꼭 읽어야 할 책이다. 하지만 어려운 통계학 지식은 그다지 필요하지 않다.

이 책은 다음과 같은 사람들에게 도움이 될 것이다.

■ 병원이나 정부 기관에서 일하면서 정기적으로 통계 보고서를 작성해야 하고 이를 자동화한 프로그램을 개발하려는 분석가
■ 새로이 혹은 기존 방식의 절차를 통합해 통계 방법론을 개발, 이를 코드화해 일반 연구 커뮤니티에서 쓰려는 학계 연구원
■ 마케팅, 소송 지원, 언론, 출판, 그 외 복잡한 데이터를 표현하는 그래픽 코드를 개발해야 하는 관련 전문가
■ 통계 분석이 포함된 프로젝트를 진행하는 소프트웨어 개발 경험이 있는 전문 프로그래머
■ 통계 컴퓨팅 수업을 듣는 학생


★ 이 책의 구성 ★

이 책은 훌륭한 R 패키지들로 가능한 수많은 유형의 통계 방법으로 가득 채운 개론서가 아니다. 프로그래밍에 대한 책으로서 기존의 R 책에서 놓친 프로그래밍 관련 주제를 담았다. 또한 기본적 R 사용에 대한 주제에 대해서도 프로그래밍적 관점으로 접근했다.

이 책에서 다루는 내용은 크게 다음과 같다.

■ 이 책 전반에 '확장 예제' 부분이 등장할 것이다. 이 부분에서는 보통 특정 데이터 기반의 단일 코드 조각이 아닌 완결된, 일반 목적의 함수들을 다룬다. 실제 이런 함수들 중 일부는 매일 하는 R 업무에서 매우 유용하게 사용할 수 있다. 이런 예제들을 익히면서 R이 어떻게 구성돼 동작하는지, 이를 프로그램에 어떻게 추가해 유용하게 사용할 수 있는지도 알아본다. 많은 경우에 '왜 이런 방식으로 사용했을까?' 하는 질문에 대답함으로써 여러 대안도 함께 알아본다.
■ 사용된 예제들은 프로그래머들의 감성에 와 닿는다. 예를 들어 데이터 프레임에 대한 토론에서는 R의 리스트 형식의 데이터 프레임뿐 아니라 이에 대한 프로그래밍 구현 방식에 대해서도 다룬다. R을 다른 언어와 비교하는 부분은 이미 다른 언어를 알고 있는 사람에게는 매우 유용하다.
■ 디버깅은 어떤 언어로 프로그래밍하는 경우라도 매우 중요하다. 대다수 R 책에서는 이를 강조하지 않는다. 이 책에서는 '확장 예제'를 통해 실제 프로그램이 어떻게 디버깅되는지 전반적인 수행 과정을 모두 보여주는 형태로 모두 디버깅 기술에 1개 장을 할애했다.
■ 오늘날은 가정에서도 멀티코어 컴퓨터를 보편적으로 사용하며, GUI 프로그래밍이 과학 응용 컴퓨팅 분야에서 조용한 혁명을 일으키고 있다. R 애플리케이션이 증가함에 따라 계산량도 매우 많아졌고, 병렬 프로세싱은 R 프로그래머 사이에서 화두로 떠올랐다. 이에 따라 기술만이 아닌 확장을 주제로 장 하나를 할애했다.
■ R의 내부 구조에 대한 지식이 어떤 도움이 되는지와 R 코드의 수행 속도 향상 기능에 대해서도 각각 한 단원씩을 할애했다.
■ R에서 C나 파이썬 등의 언어로 인터페이스하는 방법에 대해서도 다룬다. 이 장 역시 디버깅 팁을 제공하는 확장 예제를 함께 수록했다.

★ 저자 서문 ★

나는 조금은 평범하지 않은 과정을 통해 R 사용자가 됐다.

추상 확률 이론에 대한 논문을 썼고, 사회생활 초반에는 통계 교수로 몇 년을 지냈다. 가르치고, 연구하고, 통계 방법론에 대해 컨설팅하는 일이었다. UCD에서 통계학과를 만든 12명 정도 되는 교수 가운데 한 명이었다.

몇 년 후 나는 같은 학교의 전산학과로 옮겼고, 이후 많은 시간을 이 곳에서 병렬 프로그래밍, 웹 트래픽, 데이터 마이닝, 디스크 시스템 성능 등 다양한 분야를 연구하며 보냈다. 나의 전산 교육과 연구는 대부분 통계를 포함한다.

이런 많은 경험을 거쳐 나는 '하드코어'한 전산학자이며 통계학자이자 통계 연구원으로서 다양한 관점을 모두 지니게 됐다. 나의 많은 경험이 이 책의 부족함을 보충하고 독자들에게 더 큰 가치를 줄 수 있기를 바란다.

★ 옮긴이의 말 ★

'빅데이터'가 시대의 화두가 되면서, 이전에는 '그들만의 리그'라고 여겨졌던 '데이터 분석'에 대한 관심 역시 크게 늘어났습니다. 그러면서 자연스럽게 데이터 분석이 특정 사업 분야가 아닌 '데이터 처리-활용 주기'의 일부로 여겨지게 됐고, 이에 따라 전반적으로 데이터 처리에서 활용으로 이어지는 데에 사용되는 데이터 플랫폼 또한 자연스럽게 연결되는 데까지 초점이 맞춰지기 시작했습니다. 따라서 빅데이터 플랫폼으로 각광받는 오픈소스 플랫폼인 하둡(Hadoop)과 기존 분석 도구와의 결합에 대한 관심이 높아졌고, 이에 따라 오픈 소스 통계 언어인 R이 새롭게 각광을 받게 됐습니다.

기존 DB 및 관련 프로그램들만을 다루던 전산 분야의 사람들도 데이터 분석에 대해 관심을 보이고, 분석 분야에도 발을 들이고자 하는 시도가 활발히 이뤄지면서, 자연스럽게 R을 배우고자 하는 사람도 늘었습니다. 또한 기존부터 꾸준히 데이터 분석 업무를 하던 사람들도 그 동안 사용하던 상용 분석 도구인 SAS나 SPSS보다 패키지 업데이트가 빠르고, 다양한 데이터 소스와의 연결이 쉬운 R에 좀더 많은 관심을 갖게 되었습니다. 바야흐로 R이 '데이터 분석'계의 화두로 떠오르게 된 것입니다.

이와 같은 상황에서 데이터 분석을 하고 R을 사용하다 보니, 주변에서 'R을 공부하고 싶다, 방법을 알려달라'라든가 '초보자가 보기 쉬운 R 책을 추천해 달라'라는 이야기를 종종 듣게 됩니다. 하지만 추천도 참 쉽지 않은 것이, R이 '통계 분석'을 주 목적으로 만들어진 '프로그래밍' 언어다 보니 전반적으로 '통계적 지식'과 '전산학적 지식'을 어느 정도 갖춘 상태라고 전제하고 만들어진 책들이 대부분입니다. 심지어 기본 매뉴얼조차 어느 정도 이런 경향이 있습니다. 그러다 보니 보통 R에 관심을 갖게 되는 개발자 혹은 기존 데이터 분석가의 경우 한쪽의 지식만 많이 아는 상태이므로, 어떤 교재, 어떤 방법을 추천해 줘야 할지 어려웠습니다. 게다가 이 양쪽의 지식을 어느 정도 갖춰야 하는지 가늠하는 것 또한 쉽지 않아서 섣불리 어떤 조언을 해 주기가 어려웠습니다.

그런 의미에서 이 책을 접했을 때에 굉장히 반가웠습니다. R이 통계 분석을 위한 응용 언어다 보니까, 일반적으로 통계, 수학 등 어떤 목적에 대해 R을 어떻게 활용할 수 있는지 보여주는 형식의 책이나 매뉴얼이 많았습니다. 하지만 이 책에서는 R을 '프로그래밍 언어'로 보고 이를 어떻게 배울 수 있는지 기초적인 부분부터 고난도의 내용까지 꼼꼼하게 설명합니다. 그렇기 때문에 특히 '전산학적 지식'을 기본적으로 갖춘 사람에게 적합한 책이라고 생각합니다. 저자 역시 전산학을 먼저 시작한 후 통계학으로 넘어가면서 R을 접하게 된 분이어서 그런지 몰라도, R을 프로그래밍 언어 구조를 바탕으로 굉장히 차근차근 설명해줍니다. 통계학적 지식은 예제를 살펴볼 때 외에는 크게 필요하지 않고, 그나마도 쉬운 예제들로 접근하고 있기 때문에 심한 불편함은 겪지 않을 것이라고 생각합니다.

반면, '통계 지식'을 먼저 쌓은 사람에게는 추천하지 않느냐고 하면, 그렇지 않습니다. 기본적으로 책이 쉽게 쓰여 있고, R 프로그래밍에 대해 쉽고 친절하게 설명하기 때문에 타 분석 도구의 GUI에 익숙해져 있던 사람들이 R 프로그래밍을 익히는 데에 큰 도움이 될 수 있다고 봅니다. 이미 R 프로그래밍에 어느 정도 익숙한 사람이라고 하면, R의 구조나 프로그래밍에 대한 참고 자료로 옆에 두고 사용할 수도 있을 것이라고 생각합니다.

R을 실제로 공부하고 사용하는 사람으로서 이 책을 원서로 처음 접했을 때부터 참 좋은 책이라고 생각했고 참고 자료로 충분히 잘 사용할 수 있겠다고 생각했습니다. 때마침 이 책을 번역할 수 있는 기회가 주어져, 번역작업이 쉽지는 않았지만 굉장히 즐거운 시간을 보낼 수 있었습니다. 그만큼 이 책을 본 사람들이 R을 좀더 잘 이해하고 즐겁게 사용할 수 있기를 바랍니다.


정보제공 : Aladin

저자소개

노만 매트로프(지은이)

UC Davis의 전산학과(전 통계학과) 교수다. 병렬 처리 및 통계적 회귀 기법에 대해 연구 중이며, 소프트웨어 개발에서 널리 사용되는 수많은 웹 튜토리얼의 저자다. 뉴욕타임스, 워싱턴포스트, 포브스, LA타임스 등에 여러 칼럼을 기고했으며, 『The Art of Debugging』의 공저자이기도 하다.

권정민(옮긴이)

세상은 데이터로 이뤄져 있다고 생각하며, 이를 잘 활용하고자 목표를 가지고 다양한 데이터 분석 및 활용 방안을 만들고 연구하고 있다. 카이스트 및 포항공과대학교에서 산업공학과 전산학을 전공했으며, 다양한 산업군에서 데이터 분석을 수행하고 있다. 저서로는 『데이터 분석가의 숫자유감』(골든래빗, 2021)이 있고, 역서로는 『빅데이터 분석 도구 R 프로그래밍』(에이콘 출판사, 2021), 『딥러닝과 바둑』(한빛미디어, 2020) 등이 있으며 『딥러닝 레볼루션』(한국경 제신문사, 2019) 등을 감수했다.

정보제공 : Aladin

목차

목차
저자 소개 = 5
감사의 글 = 6
옮긴이 소개 = 9
옮긴이의 말 = 10
들어가며 = 24
1장 시작하기 = 31
 1.1. R 실행하기 = 32 
  1.1.1 인터랙티브 모드 = 32 
  1.1.2 배치 모드 = 33 
 1.2. 첫 번째 R 세션 = 34 
 1.3. 함수 소개 = 39 
  1.3.1 변수의 범위 = 41 
  1.3.2 기본 인수 = 42 
 1.4. 중요한 R 데이터 구조 예습하기 = 43 
  1.4.1 R의 일꾼, 벡터 = 43 
  1.4.2 문자열 = 44 
  1.4.3 행렬 = 45 
  1.4.4 리스트 = 46 
  1.4.5 데이터 프레임 = 48 
  1.4.6 클래스 = 49 
 1.5. 확장 예제: 시험 성적을 회귀 분석하기 (1) = 50 
 1.6. 시작과 종료 = 54 
 1.7. 도움말 사용하기 = 56 
  1.7.1 help() 함수 = 57 
  1.7.2 example() 함수 = 57 
  1.7.3 무엇을 찾는지 정확하게 모르는 경우 = 59 
  1.7.4 다른 주제들에 대한 도움말 = 60 
  1.7.5 배치 모드에서의 도움말 = 61 
  1.7.6 인터넷 도움말 = 61 
2장 벡터 = 63
 2.1. 스칼라, 벡터, 배열, 행렬 = 64 
  2.1.1 벡터에 원소 추가/삭제하기 = 64 
  2.1.2 벡터의 길이 파악하기 = 65 
  2.1.3 행렬과 배열을 벡터처럼 사용하기 = 66 
 2.2. 선언 = 67 
 2.3. 재사용 = 69 
 2.4. 일반 벡터 연산 = 70 
  2.4.1 벡터의 산술 및 논리 연산 = 70 
  2.4.2 벡터 인덱싱 = 71 
  2.4.3 연산자로 유용한 벡터 생성하기 = 72 
  2.4.4 seq()를 이용해 벡터 순서 생성하기 = 73 
  2.4.5 rep()을 이용해 숫자 반복 벡터 만들기 = 75 
 2.5. all()과 any() 사용하기 = 75 
  2.5.1 확장 예제: 1이 연달아 나오는 부분 찾기 = 76 
  2.5.2 확장 예제: 이산적 시계열값 예측하기 = 78 
 2.6. 벡터화 연산 = 82 
  2.6.1 벡터 입력과 출력 = 82 
  2.6.2 벡터 입력, 행렬 출력 = 85 
 2.7. NA와 NULL값 = 86 
  2.7.1 NA 사용하기 = 86 
  2.7.2 NULL 사용하기 = 87 
 2.8. 필터링 = 88 
  2.8.1 필터링된 인덱스 생성하기 = 88 
  2.8.2 subset() 함수로 필터링하기 = 91 
  2.8.3 선택 함수 which() = 91 
 2.9. 벡터화 된 조건문: ifelse() 함수 = 93 
  2.9.1 확장 예제: 연관성 측정 = 94 
  2.9.2 확장 예제: Abalone 데이터 세트 기록하기 = 97 
 2.10. 벡터 동일성 테스트 = 101 
 2.11. 벡터 원소의 이름 = 103 
 2.12. c() 이상의 것 = 103
3장 행렬과 배열 = 105 
 3.1. 행렬 만들기 = 106 
 3.2. 일반 행렬 연산 = 107 
  3.2.1 행렬에서 선형대수 연산 처리 = 108 
  3.2.2 행렬 인덱싱 = 108 
  3.2.3 확장 예제: 이미지 다루기 = 110 
  3.2.4 행렬 필터링 = 114 
  3.2.5 확장 예제: 공분산 행렬 생성하기 = 117 
 3.3. 행렬의 행과 열에 함수 적용하기 = 118 
  3.3.1 apply() 함수 사용하기 = 118 
  3.3.2 확장 예제: 아웃라이어 탐색 = 121 
 3.4. 행렬에 행과 열 추가 및 제거하기 = 123 
  3.4.1 행렬 크기 바꾸기 = 123 
  3.4.2 확장 예제: 그래프에서 서로 거리가 가장 가까운 두 점 찾기 = 125 
 3.5. 벡터ㆍ행렬을 더 정확히 구분하기 = 129 
 3.6. 의도하지 않은 차원 축소 피하기 = 131 
 3.7. 행렬의 행과 열에 이름 붙이기 = 133 
 3.8. 고차원 배열 = 134
4장 리스트 = 137 
 4.1. 리스트 생성하기 = 138 
 4.2. 일반 리스트 연산 = 139 
  4.2.1 리스트 인덱싱 = 139 
  4.2.2 리스트에 원소를 추가/삭제하기 = 141 
  4.2.3 리스트의 크기 확인하기 = 143 
  4.2.4 확장 예제: 텍스트 일치 확인하기 (1) = 143 
 4.3. 리스트 구성요소와 값에 접근하기 = 147 
 4.4. 리스트에 함수 적용하기 = 149 
  4.4.1 lapply()와 sapply() 함수 사용하기 = 149 
  4.4.2 확장 예제: 텍스트 일치 확인하기 (2) = 150
  4.4.3 확장 예제: 다시 Abalone 데이터 사용하기 = 154 
 4.5. 재귀 리스트 = 155
5장 데이터 프레임 = 157 
 5.1. 데이터 프레임 생성하기 = 158 
  5.1.1 데이터 프레임에 접근하기 = 158 
  5.1.2 확장 예제: 시험 성적을 회귀 분석하기 (2) = 159 
 5.2. 기타 행렬 방식 연산 = 160 
  5.2.1 부분 데이터 프레임 추출하기 = 161 
  5.2.2 NA 값을 다루는 추가적 방법들 = 162 
  5.2.3 rbind()와 cbind() 및 관련 함수 사용하기 = 163 
  5.2.4 apply() 적용하기 = 165 
  5.2.5 확장 예제: 월급 연구 = 165 
 5.3. 데이터 프레임 결합하기 = 168 
  5.3.1 확장 예제: 직원 데이터베이스 = 170
 5.4. 데이터 프레임에 함수 적용하기 = 171 
  5.4.1 데이터 프레임에 lapply()와 sapply() 사용하기 = 171 
  5.4.2 확장 예제: 로지스틱 회귀 모델 적용하기 = 172 
  5.4.3 확장 예제: 중국어 사투리 공부 도와주기 = 174
6장 팩터와 테이블 = 183 
 6.1. 팩터와 레벨 = 184 
 6.2. 팩터에 사용되는 일반적인 함수 = 185 
  6.2.1 tapply() 함수 = 185 
  6.2.2 split() 함수 = 187 
  6.2.3 by() 함수 = 190 
 6.3. 테이블 사용하기 = 191
  6.3.1 테이블로 행렬ㆍ배열 연산하기 = 194 
  6.3.2 확장 예제: 부분 테이블 추출하기 = 196
  6.3.3 확장 예제: 테이블에서 가장 큰 셀 찾기 = 200 
 6.4. 그 밖의 팩터 및 테이블 관련 함수 = 202 
  6.4.1 aggregate() 함수 = 202 
  6.4.2 cut() 함수 = 203
7장 R 프로그래밍 구조 = 205 
 7.1. 조건문 = 206 
  7.1.1 반복문 = 206 
  7.1.2 벡터 이외의 유형을 사용하는 반복문 = 209 
  7.1.3 if-else = 210 
 7.2. 산술 및 불리언 연산 및 값 = 212 
 7.3. 인수의 기본값 = 214 
 7.4. 반환값 = 215 
  7.4.1 명시적으로 return()을 호출할지 판단하기 = 216 
  7.4.2 복잡한 객체 반환하기 = 217 
 7.5. 함수는 객체다 = 217 
 7.6. 환경 설정 및 범위 문제 = 221 
  7.6.1 최상위 레벨 환경변수 = 221 
  7.6.2 범위 계층 구조 = 222 
  7.6.3 ls() 좀 더 살펴보기 = 226 
  7.6.4 함수는 거의 부작용이 없다 = 227 
  7.6.5 확장 예제: 호출 프레임의 내용을 보여주는 함수 = 228 
 7.7. R에는 포인터가 없다 = 231 
 7.8. 위층에 쓰기 = 233 
  7.8.1 고급 할당 연산자를 이용한 지역 외 변수 사용하기 = 234 
  7.8.2 assign()을 이용해 지역 외 변수 사용하기 = 235 
  7.8.3 확장 예제: R에서의 이산 사건 시뮬레이션 = 236 
  7.8.4 광역변수는 언제 사용해야 하나? = 246 
  7.8.5 클로저(Closure) = 250 
 7.9. 재귀 = 252 
  7.9.1 퀵소트 구현 = 253 
  7.9.2 확장 예제: 바이너리 서치 트리 = 254 
 7.10. 교체 함수 = 261 
  7.10.1 교체 함수를 사용할 때 고려해야 하는 사항 = 262 
  7.10.2 확장 예제: 자동 부기 벡터 클래스 = 263 
 7.11. 함수 코드 작성용 도구 = 265 
  7.11.1 텍스트 에디터와 통합개발 환경 = 265 
  7.11.2 edit() 함수 = 266 
 7.12. 자신만의 바이너리 연산자 사용하기 = 267 
 7.13. 무기명 함수 = 267
8장 R에서 수학과 시뮬레이션 하기 = 269 
 8.1. 수학 함수 = 270 
  8.1.1 확장 예제: 확률 계산 = 270 
  8.1.2 누적 합과 곱 = 271 
  8.1.3 최소값과 최대값(복수 가능) = 272 
  8.1.4 미적분 = 273 
 8.2. 통계 분포를 위한 함수 = 274 
 8.3. 정렬 = 275 
 8.4. 벡터와 행렬의 선형 대수 연산 = 277 
  8.4.1 확장 예제: 벡터 외적 = 280 
  8.4.2 확장 예제: 마코브 체인(Markov Chain)의 고정 분포 찾기 = 281 
 8.5. 집합 연산 = 284 
 8.6. R에서 시뮬레이션 프로그래밍 하기 = 286 
  8.6.1 내장 랜덤 변수 생성기 = 287 
  8.6.2 반복 수행 시에 동일한 랜덤 연속값 얻기 = 288 
  8.6.3 확장 예제: 조합 시뮬레이션 = 288
9장 객체지향 프로그래밍 = 291 
 9.1. S3 클래스 = 292 
  9.1.1 S3 제네릭 함수 = 292 
  9.1.2 예제: 선형 모델 함수 lm()에서 OOP = 293 
  9.1.3 제네릭 메소드 실행 내역 찾기 = 295 
  9.1.4 S3 클래스 작성하기 = 297 
  9.1.5 상속 사용하기 = 299 
  9.1.6 확장 예제: 위 삼각 행렬 저장 클래스 = 300 
  9.1.7 확장 예제: 다항 회귀 분석 과정 = 306 
 9.2. S4 클래스 = 310 
  9.2.1 S4 클래스 작성하기 = 311 
  9.2.2 S4 클래스에서 제네릭 함수 구현하기 = 313 
 9.3. S3 대 S4 = 315 
 9.4. 객체 관리하기 = 315 
  9.4.1 ls() 함수를 사용해 객체 나열하기 = 316 
  9.4.2 rm() 함수를 사용해 특정 객체 제거하기 = 316 
  9.4.3 save() 함수를 사용해 객체들을 저장하기 = 317 
  9.4.4 "이건 뭐지?" = 318 
  9.4.5 exists() 함수 = 321 
10장 입력과 출력 = 323
 10.1. 키보드와 모니터에 접근하기 = 324 
  10.1.1 scan() 함수 사용하기 = 324 
  10.1.2 readline() 함수 사용하기 = 327 
  10.1.3 화면에 출력하기 = 327 
 10.2. 파일 읽고 쓰기 = 329 
  10.2.1 파일에서 데이터 프레임이나 행렬 읽어오기 = 329 
  10.2.2 텍스트 파일 읽기 = 330 
  10.2.3 커넥션 입문 = 331 
  10.2.4 확장 예제: PUMS 통계 파일 = 333 
  10.2.5 URL을 통해 원격으로 파일에 접속하기 = 338 
  10.2.6 파일에 쓰기 = 339 
  10.2.7 파일과 디렉터리 정보 얻기 = 341 
  10.2.8 확장 예제: 많은 파일의 내용의 합 = 342 
 10.3. 인터넷에 접근하기 = 343 
  10.3.1 TCP/IP 개요 = 343 
  10.3.2 R의 소켓 = 345 
  10.3.3 확장 예제: 병렬처리 R 구현하기 = 346
11장 문자열 처리 = 349 
 11.1. 문자열 처리 함수 개요 = 350 
  11.1.1 grep() = 350 
  11.1.2 nchar() = 350 
  11.1.3 paste() = 351 
  11.1.4 sprint() = 351 
  11.1.5 substr() = 352 
  11.1.6 strsplit() = 352 
  11.1.7 regexpr() = 352 
  11.1.8 gregexpr() = 352 
 11.2. 정규 표현식 = 353 
  11.2.1 확장 예제: 주어진 확장자의 파일명 테스트 = 354 
  11.2.2 확장 예제: 파일명 구성하기 = 356 
 11.3. 디버깅 도구 edtdbg에서 문자열 관련 기능 사용하기 = 358 
12장 그래픽 = 361
 12.1. 그래프 만들기 = 362 
  12.1.1 R 기본 그래픽의 주요 담당자: plot() 함수 = 362 
  12.1.2 선 추가하기: abline() 함수 = 363 
  12.1.3 기존 것을 유지한 상태로 새 그래프 그리기 = 365 
  12.1.4 확장 예제: 한 화면에 두 개의 밀도 추정 그래프 나타내기 = 365 
  12.1.5 확장 예제: 다항 회귀 예제 = 367 
  12.1.6 점 추가: points() 함수 = 371 
  12.1.7 범례 추가: legend() 함수 = 372 
  12.1.8 텍스트 추가: text() 함수 = 372 
  12.1.9 위치 찾기: locator() 함수 = 373 
  12.1.10 그래프 복구 = 374 
 12.2. 그래프 꾸미기 = 375 
  12.2.1 문자 크게 조절: cex 옵션 = 375 
  12.2.2 축의 범위 바꾸기: xlim과 ylim 옵션 = 375 
  12.2.3 다각형 추가. polygon() 함수 = 378 
  12.2.4 선의 곡선화: lowess()와 loess() 함수 = 379 
  12.2.5 명시적 함수 그래프화 = 380 
  12.2.6 확장 예제: 곡선의 일부를 확대하기 = 381 
 12.3. 그래프를 파일에 저장하기 = 384 
  12.3.1 R 그래픽 장치 = 384 
  12.3.2 출력된 그래프 저장하기 = 385 
  12.3.3 R 그래픽 장치 닫기 = 385
 12.4. 3차원 그래프 생성하기 = 386
13장 디버깅 = 389 
 13.1. 디버깅의 기본 원칙 = 390 
  13.1.1 디버깅의 기본: 확인 원칙 = 390 
  13.1.2 작은 것부터 시작하기 = 391 
  13.1.3 모듈식, 하향식 디버깅 = 391 
  13.1.4 버그 예방 = 391 
 13.2. 왜 디버깅 도구를 사용할까? = 392 
 13.3. R 디버깅 기능 사용하기 = 393 
  13.3.1 debug()와 browser() 함수를 사용한 개별 단계 살펴보기 = 393 
  13.3.2 브라우저 명령어 사용하기 = 394 
  13.3.3 중단점 설정하기 = 395 
  13.3.4 trace() 함수로 추적하기 = 397 
  13.3.5 충돌 발생 후 traceback()과 debugger() 함수를 사용해 확인하기 = 398 
  13.3.6 확장 예제: 두 가지의 전체 디버깅 과정 = 399 
 13.4. 세계적 움직임: 보다 편리한 디버깅 도구 = 409 
 13.5. 시뮬레이션 코드 디버깅에서의 일관성 보장하기 = 412 
 13.6. 구문 및 런타임 오류 = 412 
 13.7. R 자체에서 GDB 실행하기 = 413
14장 성능 향상: 속도와 메모리 = 415 
 14.1. 빠른 R 코드 작성하기 = 416 
 14.2. 반복문에 대한 두려움 = 416 
  14.2.1 속도 향상을 위한 벡터화 = 416 
  14.2.2 확장 예제: 몬테카를로 시뮬레이션의 속도를 향상시키기 = 419 
  14.2.3 확장 예제: 멱행렬 생성하기 = 423 
 14.3. 함수형 프로그래밍과 메모리 문제 = 426 
  14.3.1 벡터 할당 문제 = 426 
  14.3.2 복사 후 변경 문제 = 426 
  14.3.3 확장 예제: 메모리 복사 피하기 = 428 
 14.4. 코드에서 느린 부분을 찾을 때 사용하는 Rprof() = 429 
  14.4.1 Rprof()를 사용한 모니터링 = 429 
  14.4.2 Rprof()의 작동 원리 = 431 
 14.5. 바이트 코드 컴파일 = 433 
 14.6. 데이터가 메모리에 들어가지 않아요! = 434 
  14.6.1 청킹 = 434 
  14.6.2 메모리 관리를 위한 R 패키지 사용하기 = 435
15장 타 언어와 R을 인터페이스하기 = 437 
 15.1. R에서 호출하는 C/C++함수 작성하기 = 438 
  15.1.1 R을 C/C++와 연동할 때 선행지식 = 438 
  15.1.2 예제: 정사각행렬에서 부분 대각행렬 추출 = 438 
  15.1.3 컴파일하고 코드 실행하기 = 439 
  15.1.4 R/C 코드 디버깅하기 = 441 
  15.1.5 확장 예제: 이산 시계열값 예측 = 443 
 15.2. 파이썬에서 R 사용하기 = 446 
  15.2.1 RPy 설치하기 = 446 
  15.2.2 RPy 문법 = 446
16장 병렬 R = 449 
 16.1. 상호 아웃링크 문제 = 450 
 16.2. snow 패키지 소개 = 450 
  16.2.1 snow 코드 실행하기 = 452 
  16.2.2 snow 코드 분석하기 = 453 
  16.2.3 어느 정도의 속도 향상이 가능할까 = 455 
  16.2.4 확장 예제: K-평균 클러스터링 = 456 
 16.3. C 사용하기 = 459 
  16.3.1 멀티코어 사용하기 = 460 
  16.3.2 확장 예제: OpenMP에서의 상호 아웃링크 문제 = 460 
  16.3.3 OpemMP 코드 실행하기 = 461 
  16.3.4 OpenMP 코드 분석 = 462 
  16.3.5 다른 OpenMP 프라그마 = 464 
  16.3.6 GPU 프로그래밍 = 466 
 16.4. 성능에 대해 일반적으로 고려할 사항 = 467 
  16.4.1 과부하의 원인 = 467 
  16.4.2 당황스러운 병렬 어플리케이션과 그렇지 않은 어플리케이션의 차이 = 469 
  16.4.3 정적 할당 대 동적 할당 = 470 
  16.4.4 소프트웨어 연금술: 일반적인 문제를 당황스러운 병렬 문제로 바꾸기 = 473 
 16.5. 병렬 R 코드 디버깅하기 = 474
부록 A. R 설치하기 = 477 
 A.1 CRAN에서 R 내려 받기 = 478 
 A.2 리눅스 패키지 매니저를 사용해 설치하기 = 478 
 A.3 소스 파일로 설치하기 = 478
부록 B. 패키지 설치 및 사용 = 481 
 B.1 기본 패키지 = 482 
 B.2 하드 디스크에서 패키지 불러오기 = 482 
 B.3 웹에서 패키지 내려받기 = 483 
  B.3.1 자동으로 패키지 설치하기 = 483 
  B.3.2 수동으로 패키지 설치하기 = 484 
 B.4 패키지 내의 함수 리스트 보기 = 486 
찾아보기 = 487

관련분야 신착자료

Bertsimas, Dimitris (2022)