Top

빅데이터 시대의 필수 분석 도구 R과 다양한 시각화 기법을 마스터한다 세트

  • 원서명Visualize This: The FlowingData Guide to Design, Visualization, and Statistics , The Art of R Programming: A Tour of Statistical Software Design (ISBN 9780470944882)
  • 지은이네이선 야우, 노만 매트로프
  • 옮긴이송용근, 권정민
  • ISBN : 9788960773387
  • 59,000원
  • 2012년 08월 30일 펴냄
  • 페이퍼백 | 928쪽 | 188*250mm
  • 시리즈 : 클라우드 컴퓨팅

책 소개

[ 세트 구성: 전2권 ]

1) 『Visualize This 비주얼라이즈 디스: 빅데이터 시대의 데이터 시각화+인포그래픽 기법』
2) 『빅데이터 분석 도구 R 프로그래밍: 데이터 고급 분석과 통계 프로그래밍을 위한』


『Visualize This 비주얼라이즈 디스』 소개

"그래프가 아니다. 데이터 그래픽이다!" 화려한 스프레드시트 프로그램들은 마우스 클릭 몇 번으로 눈부신 그래프를 그릴 수 있다고 선전하지만, 그게 다는 아니다. 데이터는 실생활의 반영이며, 우리 삶의 이야기를 담고 있는 지표다. 이 책은 데이터 그래픽을 기본 개념부터 응용 방법까지, 초심자의 기준에서 단계적으로 설명한다. 별다른 지식이 없어도 누구나 쉽게 빅데이터를 시각적으로 표현하는 방법을 배울 수 있다. 막대/선 그래프나 파이 차트 같은 단순한 그래프는 물론, 시계열 그래픽, 지도 그래픽, 트리맵과 인터랙티브 차트까지 그릴 수 있게 될 것이다.

이 책에서 다루는 내용
■ 의외성을 주는 시각적인 데이터 표현
■ 데이터의 스토리텔링: 이야기 찾기
■ 각기 다른 데이터와 효과적인 표현 형식
■ 다양한 시각화 도구의 비교 실험
■ 데이터의 트렌드/패턴 파악과 그에 따른 적절한 차트 제시
■ 시각화의 목표 설정


『빅데이터 분석 도구 R 프로그래밍』 소개

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

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

저자/역자 소개

[ 저자 소개 ]

네이선 야우(Nathan Yau)
2007년부터 플로잉데이터 블로그(http://flowingdata.com)에서 데이터 시각화, 통계, 디자인 자료와 기사를 만들어가고 있다. 「뉴욕타임스」, CNN, 모질라(Mozilla), 사이파이(SyFy) 등과 함께 공동작업을 하며, 데이터와 정보 그래픽이 좋은 분석과 좋은 이야기 전달을 만들어준다는 신념을 이어가고 있다.
UCLA에서 석사 학위를 받고, 현재 동대학 대학원에서 데이터 시각화와 인적 데이터 분야의 박사 과정에 있다.

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


[ 옮긴이 소개 ]

송용근
포항공과대학교 컴퓨터공학과를 다니다가, (주)사이람에서 SNA 연구와 소프트웨어 개발을 했다. 주로 복잡한 시스템을 관계의 입장으로 풀어보길 좋아한다. 사람 간의 소통과 관계 또한 주요 탐구대상. 전 TEDxSeoul 오거나이저, 현재 일본 히로시마 대학 의학대학원 석사과정 연구생, 마가진(magazyn.co.kr) 엔지니어를 겸직하고 있다. 에이콘출판사의 『프리젠테이션 젠 DVD Edition』(2011), 『플래시 멀티플레이 게임 개발』(2011), 『Flash Mobile 한국어판』(2011)을 번역 출간했다.

권정민
KAIST와 POSTECH에서 산업공학 및 전산학을 전공하고 다양한 데이터 처리 및 분석 업무를 경험한 후 현재 NexR에서 데이터 분석 관련 업무를 하고 있다. 데이터가 화두로 떠오르기 조금 전에 세상이 데이터로 이뤄졌음을 깨달았다는 것에 조그마한 자부심을 느끼며, 데이터에서 가치를 찾아내는 일을 좀더 즐겁고 지속적으로 할 수 있는 방안을 찾고자 하루하루 고민하며 연구한다.

목차

목차
  • 『Visualize This 비주얼라이즈 디스』
  • 1장 데이터 스토리텔링
    • 숫자 그 이상
    • 목표
    • 디자인
    • 정리
  • 2장 데이터 다루기
    • 데이터 수집 방법
    • 데이터 형식화
    • 정리
  • 3장 도구의 선택
    • 종합세트 시각화
    • 프로그래밍
    • 일러스트레이션
    • 지도
    • 각자의 선택
    • 정리
  • 4장 시간 시각화
    • 무엇을 볼 것인가
    • 시간 나눔
    • 연속형 데이터
    • 정리
  • 5장 분포 시각화
    • 무엇을 볼 것인가
    • 전체의 부분
    • 시간에 따른 분포
    • 정리
  • 6장 관계 시각화
    • 무엇을 볼 것인가
    • 상관관계
    • 분포
    • 비교
    • 정리
  • 7장 비교 시각화
    • 무엇을 볼 것인가
    • 여러 변수의 비교
    • 차원을 줄인다
    • 아웃라이어 찾기
    • 정리
  • 8장 공간 시각화
    • 무엇을 볼 것인가
    • 위치 특정
    • 영역
    • 시간과 공간에 따라
    • 정리
  • 9장 목적에 맞는 디자인
    • 자신을 위한 준비
    • 독자를 위한 준비
    • 시각적 신호
    • 훌륭한 시각화
    • 정리

  • 『빅데이터 분석 도구 R 프로그래밍』
  • 1장 시작하기
    • 1.1 R 실행하기
      • 1.1.1 인터랙티브 모드
      • 1.1.2 배치 모드
    • 1.2 첫 번째 R 세션
    • 1.3 함수 소개
      • 1.3.1 변수의 범위
      • 1.3.2 기본 인수
    • 1.4 중요한 R 데이터 구조 예습하기
      • 1.4.1 R의 일꾼, 벡터
      • 1.4.2 문자열
      • 1.4.3 행렬
      • 1.4.4 리스트
      • 1.4.5 데이터 프레임
      • 1.4.6 클래스
    • 1.5 확장 예제: 시험 성적을 회귀 분석하기(1)
    • 1.6 시작과 종료
    • 1.7 도움말 사용하기
      • 1.7.1 help() 함수
      • 1.7.2 example() 함수
      • 1.7.3 무엇을 찾는지 정확하게 모르는 경우
      • 1.7.4 다른 주제들에 대한 도움말
      • 1.7.5 배치 모드에서의 도움말
      • 1.7.6 인터넷 도움말
  • 2장 벡터
    • 2.1 스칼라, 벡터, 배열, 행렬
      • 2.1.1 벡터에 원소 추가 또는 삭제하기
      • 2.1.2 벡터의 길이 파악하기
      • 2.1.3 행렬과 배열을 벡터처럼 사용하기
    • 2.2 선언
    • 2.3 재사용
    • 2.4 일반 벡터 연산
      • 2.4.1 벡터의 산술 및 논리 연산
      • 2.4.2 벡터 인덱싱
      • 2.4.3 연산자로 유용한 벡터 생성하기
      • 2.4.4 seq()를 이용해 벡터 순서 생성하기
      • 2.4.5 rep()을 이용해 숫자 반복 벡터 만들기
    • 2.5 all()과 any() 사용하기
      • 2.5.1 확장 예제: 1이 연달아 나오는 부분 찾기
      • 2.5.2 확장 예제: 이산적 시계열값 예측하기
    • 2.6 벡터화 연산
      • 2.6.1 벡터 입력과 출력
      • 2.6.2 벡터 입력, 행렬 출력
    • 2.7 NA와 NULL값
      • 2.7.1 NA 사용하기
      • 2.7.2 NULL 사용하기
    • 2.8 필터링
      • 2.8.1 필터링된 인덱스 생성하기
      • 2.8.2 subset() 함수로 필터링하기
      • 2.8.3 선택 함수 which()
    • 2.9 벡터화 된 조건문: ifelse() 함수
      • 2.9.1 확장 예제: 연관성 측정
      • 2.9.2 확장 예제: Abalone 데이터 세트 기록하기
    • 2.10 벡터 동일성 테스트
    • 2.11 벡터 원소의 이름
    • 2.12 c() 이상의 것
  • 3장 행렬과 배열
    • 3.1 행렬 만들기
    • 3.2 일반 행렬 연산
      • 3.2.1 행렬에서 선형대수 연산 처리
      • 3.2.2 행렬 인덱싱
      • 3.2.3 확장 예제: 이미지 다루기
      • 3.2.4 행렬 필터링
      • 3.2.5 확장 예제: 공분산 행렬 생성하기
    • 3.3 행렬의 행과 열에 함수 적용하기
      • 3.3.1 apply() 함수 사용하기
      • 3.3.2 확장 예제: 아웃라이어 탐색
    • 3.4 행렬에 행과 열 추가 및 제거하기
      • 3.4.1 행렬 크기 바꾸기
      • 3.4.2 확장 예제: 그래프에서 서로 거리가 가장 가까운 두 점 찾기
    • 3.5 벡터/행렬을 더 정확히 구분하기
    • 3.6 의도하지 않은 차원 축소 피하기
    • 3.7 행렬의 행과 열에 이름 붙이기
    • 3.8 고차원 배열
  • 4장 리스트
    • 4.1 리스트 생성하기
    • 4.2 일반 리스트 연산
      • 4.2.1 리스트 인덱싱
      • 4.2.2 리스트에 원소를 추가하고 삭제하기
      • 4.2.3 리스트의 크기 확인하기
      • 4.2.4 확장 예제: 텍스트 일치 확인하기(1)
    • 4.3 리스트 구성요소와 값에 접근하기
    • 4.4 리스트에 함수 적용하기
      • 4.4.1 lapply()와 sapply() 함수 사용하기
      • 4.4.2 확장 예제: 텍스트 일치 확인하기(2)
      • 4.4.3 확장 예제: 다시 Abalone 데이터 사용하기
    • 4.5 재귀 리스트
  • 5장 데이터 프레임
    • 5.1 데이터 프레임 생성하기
      • 5.1.1 데이터 프레임에 접근하기
      • 5.1.2 확장 예제: 시험 성적을 회귀 분석하기(2)
    • 5.2 기타 행렬 방식 연산
      • 5.2.1 부분 데이터 프레임 추출하기
      • 5.2.2 NA 값을 다루는 추가적 방법들
      • 5.2.3 rbind()와 cbind() 및 관련 함수 사용하기
      • 5.2.4 apply() 적용하기
      • 5.2.5 확장 예제: 월급 연구
    • 5.3 데이터 프레임 결합하기
      • 5.3.1 확장 예제: 직원 데이터베이스
    • 5.4 데이터 프레임에 함수 적용하기
      • 5.4.1 데이터 프레임에 lapply()와 sapply() 사용하기
      • 5.4.2 확장 예제: 로지스틱 회귀 모델 적용하기
      • 5.4.3 확장 예제: 중국어 사투리 공부 도와주기
  • 6장 팩터와 테이블
    • 6.1 팩터와 레벨
    • 6.2 팩터에 사용되는 일반적인 함수
      • 6.2.1 tapply() 함수
      • 6.2.2 split() 함수
      • 6.2.3 by() 함수
    • 6.3 테이블 사용하기
      • 6.3.1 테이블로 행렬/배열 연산하기
      • 6.3.2 확장 예제: 부분 테이블 추출하기
      • 6.3.3 확장 예제: 테이블에서 가장 큰 셀 찾기
    • 6.4 그 밖의 팩터 및 테이블 관련 함수
      • 6.4.1 aggregate() 함수
      • 6.4.2 cut() 함수
  • 7장 R 프로그래밍 구조
    • 7.1 조건문
      • 7.1.1 반복문
      • 7.1.2 벡터 이외의 유형을 사용하는 반복문
      • 7.1.3 if-else
    • 7.2 산술 및 불리언 연산 및 값
    • 7.3 인수의 기본값
    • 7.4 반환값
      • 7.4.1 명시적으로 return()을 호출할지 판단하기
      • 7.4.2 복잡한 객체 반환하기
    • 7.5 함수는 객체다
    • 7.6 환경 설정 및 범위 문제
      • 7.6.1 최상위 레벨 환경변수
      • 7.6.2 범위 계층 구조
      • 7.6.3 ls() 좀 더 살펴보기
      • 7.6.4 함수는 거의 부작용이 없다
      • 7.6.5 확장 예제: 호출 프레임의 내용을 보여주는 함수
    • 7.7 R에는 포인터가 없다
    • 7.8 위층에 쓰기
      • 7.8.1 고급 할당 연산자를 이용한 지역 외 변수 사용하기
      • 7.8.2 assign()을 이용해 지역 외 변수 사용하기
      • 7.8.3 확장 예제: R에서의 이산 사건 시뮬레이션
      • 7.8.4 광역 변수는 언제 사용해야 하나?
      • 7.8.5 클로저(Closure)
    • 7.9 재귀
      • 7.9.1 퀵소트 구현
      • 7.9.2 확장 예제: 바이너리 서치 트리
    • 7.10 교체 함수
      • 7.10.1 교체 함수를 사용할 때 고려해야 하는 사항
      • 7.10.2 확장 예제: 자동 부기 벡터 클래스
    • 7.11 함수 코드 작성용 도구
      • 7.11.1 텍스트 에디터와 통합 개발 툴
      • 7.11.2 edit() 함수
    • 7.12 자신만의 바이너리 연산자 사용하기
    • 7.13 무기명 함수
  • 8장 R에서 수학과 시뮬레이션 하기
    • 8.1 수학 함수
      • 8.1.1 확장 예제: 확률 계산
      • 8.1.2 누적 합과 곱
      • 8.1.3 최소값과 최대값(복수 가능)
      • 8.1.4 미적분
    • 8.2 통계 분포를 위한 함수
    • 8.3 정렬
    • 8.4 벡터와 행렬의 선형 대수 연산
      • 8.4.1 확장 예제: 벡터 외적
      • 8.4.2 확장 예제: 마코브 체인(Markov Chain)의 고정 분포 찾기
    • 8.5 집합 연산
    • 8.6 R에서 시뮬레이션 프로그래밍 하기
      • 8.6.1 내장 랜덤 변수 생성기
      • 8.6.2 반복 수행 시에 동일한 랜덤 연속값 얻기
      • 8.6.3 확장 예제: 조합 시뮬레이션
  • 9장 객체 지향 프로그래밍
    • 9.1 S3 클래스
      • 9.1.1 S3 제네릭 함수
      • 9.1.2 예제: 선형 모델 함수 lm()에서 OOP
      • 9.1.3 제네릭 메소드 실행 내역 찾기
      • 9.1.4 S3 클래스 작성하기
      • 9.1.5 상속 사용하기
      • 9.1.6 확장 예제: 위 삼각 행렬 저장 클래스
      • 9.1.7 확장 예제: 다항 회귀 분석 과정
    • 9.2 S4 클래스
      • 9.2.1 S4 클래스 작성하기
      • 9.2.2 S4 클래스에서 제네릭 함수 구현하기
    • 9.3 S3 대 S4
    • 9.4 객체 관리하기
      • 9.4.1 ls() 함수를 사용해 객체 나열하기
      • 9.4.2 rm() 함수를 사용해 특정 객체 제거하기
      • 9.4.3 save() 함수를 사용해 객체들을 저장하기
      • 9.4.4 “이건 뭐지?”
      • 9.4.5 exists() 함수
  • 10장 입력과 출력
    • 10.1 키보드와 모니터에 접근하기
      • 10.1.1 scan() 함수 사용하기
      • 10.1.2 readline() 함수 사용하기
      • 10.1.3 화면에 출력하기
    • 10.2 파일 읽고 쓰기
      • 10.2.1 파일에서 데이터 프레임이나 행렬 읽어오기
      • 10.2.2 텍스트 파일 읽기
      • 10.2.3 커넥션 입문
      • 10.2.4 확장 예제: PUMS 통계 파일
      • 10.2.5 URL을 통해 원격으로 파일에 접속하기
      • 10.2.6 파일에 쓰기
      • 10.2.7 파일과 디렉터리 정보 얻기
      • 10.2.8 확장 예제: 많은 파일의 내용의 합
    • 10.3 인터넷에 접근하기
      • 10.3.1 TCP/IP 개요
      • 10.3.2 R의 소켓
      • 10.3.3 확장 예제: 병렬처리 R 구현하기
  • 11장 문자열 처리
    • 11.1 문자열 처리 함수 개요
      • 11.1.1 grep()
      • 11.1.2 nchar()
      • 11.1.3 paste()
      • 11.1.4 sprint()
      • 11.1.5 substr()
      • 11.1.6 strsplit()
      • 11.1.7 regexpr()
      • 11.1.8 gregexpr()
    • 11.2 정규 표현식
      • 11.2.1 확장 예제: 주어진 확장자의 파일명 테스트
      • 11.2.2 확장 예제: 파일명 구성하기
    • 11.3 디버깅 도구 edtdbg에서 문자열 관련 기능 사용하기
  • 12장 그래픽
    • 12.1 그래프 만들기
      • 12.1.1 R 기본 그래픽의 주요 담당자: plot() 함수
      • 12.1.2 선 추가하기: abline() 함수
      • 12.1.3 기존 것을 유지한 상태로 새 그래프 그리기
      • 12.1.4 확장 예제: 한 화면에 두 개의 밀도 추정 그래프 나타내기
      • 12.1.5 확장 예제: 다항 회귀 예제
      • 12.1.6 점 추가: points() 함수
      • 12.1.7 범례 추가: legend() 함수
      • 12.1.8 텍스트 추가: text() 함수
      • 12.1.9 위치 찾기: locator() 함수
      • 12.1.10 그래프 복구
    • 12.2 그래프 꾸미기
      • 12.2.1 문자 크게 조절: cex 옵션
      • 12.2.2 축의 범위 바꾸기: xlim과 ylim 옵션
      • 12.2.3 다각형 추가. polygon() 함수
      • 12.2.4 선의 곡선화: lowess()와 loess() 함수
      • 12.2.5 명시적 함수 그래프화
      • 12.2.6 확장 예제: 곡선의 일부를 확대하기
    • 12.3 그래프를 파일에 저장하기
      • 12.3.1 R 그래픽 장치
      • 12.3.2 출력된 그래프 저장하기
      • 12.3.3 R 그래픽 장치 닫기
    • 12.4 3차원 그래프 생성하기
  • 13장 디버깅
    • 13.1 디버깅의 기본 원칙
      • 13.1.1 디버깅의 기본: 확인 원칙
      • 13.1.2 작은 것부터 시작하기
      • 13.1.3 모듈식, 하향식 디버깅
      • 13.1.4 버그 예방
    • 13.2 왜 디버깅 도구를 사용할까?
    • 13.3 R 디버깅 기능 사용하기
      • 13.3.1 debug()와 browser() 함수를 사용한 개별 단계 살펴보기
      • 13.3.2 브라우저 명령어 사용하기
      • 13.3.3 중단점 설정하기
      • 13.3.4 trace() 함수로 추적하기
      • 13.3.5 충돌 발생 후 traceback()과 debugger() 함수를 사용해 확인하기
      • 13.3.6 확장 예제: 두 가지의 전체 디버깅 과정
    • 13.4 국제적인 움직임: 보다 편리한 디버깅 도구
    • 13.5 시뮬레이션 코드 디버깅에서의 일관성 보장하기
    • 13.6 구문 및 런타임 오류
    • 13.7 R 자체에서 GDB 실행하기
  • 14장 성능 향상: 속도와 메모리
    • 14.1 빠른 R 코드 작성하기
    • 14.2 반복문에 대한 두려움
      • 14.2.1 속도 향상을 위한 벡터화
      • 14.2.2 확장 예제: 몬테카를로 시뮬레이션의 속도를 향상시키기
      • 14.2.3 확장 예제: 멱행렬 생성하기
    • 14.3 함수형 프로그래밍과 메모리 문제
      • 14.3.1 벡터 할당 문제
      • 14.3.2 복사 후 변경 문제
      • 14.3.3 확장 예제: 메모리 복사 피하기
    • 14.4 코드에서 느린 부분을 찾을 때 사용하는 Rprof()
      • 14.4.1 Rprof()를 사용한 모니터링
      • 14.4.2 Rprof()의 작동 원리
    • 14.5 바이트 코드 컴파일
    • 14.6 데이터가 메모리에 들어가지 않아요!
      • 14.6.1 청킹
      • 14.6.2 메모리 관리를 위한 R 패키지 사용하기
  • 15장 타 언어와 R을 인터페이스하기
    • 15.1 R에서 호출하는 C/C++ 함수 작성하기
      • 15.1.1 R을 C/C++과 연동할 때의 선행지식
      • 15.1.2 예제: 정사각 행렬에서 부분 대각행렬 추출
      • 15.1.3 컴파일하고 코드 실행하기
      • 15.1.4 R/C 코드 디버깅하기
      • 15.1.5 확장 예제: 이산 시계열값 예측
    • 15.2 파이썬에서 R 사용하기
      • 15.2.1 RPy 설치하기
      • 15.2.2 RPy 문법
  • 16장 병렬 R
    • 16.1 상호 아웃링크 문제
    • 16.2 snow 패키지 소개
      • 16.2.1 snow 코드 실행하기
      • 16.2.2 snow 코드 분석하기
      • 16.2.3 어느 정도의 속도 향상이 가능할까
      • 16.2.4 확장 예제: K-평균 클러스터링
    • 16.3 C 사용하기
      • 16.3.1 멀티코어 사용하기
      • 16.3.2 확장 예제: OpenMP에서의 상호 아웃링크 문제
      • 16.3.3 OpemMP 코드 실행하기
      • 16.3.4 OpenMP 코드 분석
      • 16.3.5 다른 OpenMP 프라그마
      • 16.3.6 GPU 프로그래밍
    • 16.4 성능에 대해 일반적으로 고려할 사항
      • 16.4.1 과부하의 원인
      • 16.4.2 당황스러운 병렬 어플리케이션과 그렇지 않은 어플리케이션의 차이
      • 16.4.3 정적 할당 대 동적 할당
      • 16.4.4 소프트웨어 연금술: 일반적인 문제를 당황스러운 병렬 문제로 바꾸기
    • 16.5 병렬 R 코드 디버깅하기
  • 부록 AR 설치하기
    • A.1 CRAN에서 R 내려 받기
    • A.2 리눅스 패키지 매니저를 사용해 설치하기
    • A.3 소스 파일로 설치하기
  • 부록 B 패키지 설치 및 사용
    • B.1 기본 패키지
    • B.2 하드 디스크에서 패키지 불러오기
    • B.3 웹에서 패키지 다운로드하기
      • B.3.1 자동으로 패키지 설치하기
      • B.3.2 수동으로 패키지 설치하기

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안