스크랩

구간

R에서 객체지향 프로그래밍 사용하기 - acorn+PACKT 시리즈 R 언어 기초부터 객체지향 개념(S3, S4 클래스)과 사례 연구까지

원제 : R Object-Oriented Programming

켈리 블랙 저 | 정사범 역 | 에이콘출판 | 2016년 07월

미리보기 북트리

정가
$40.00
판매가
$29.16 (27%↓) 최저가 보상
적립금
$0.58 (2%P)

품절된 상품입니다.

이 책을 꼭 원하시는 고객님께서는 아래 "상품문의"를 클릭 후 구매의사를
알려주세요. 책이 확보 될 경우 연락 드리겠습니다.

북카트 바로구매 위시리스트

평점 -  ·  리뷰 0

리뷰 쓰기

ISBN : 9788960778825 / 228쪽 189 x 236 (㎜)

이 상품에 궁금하신점이 있으세요? 1:1상담문의

추천inside
Adobe Flash Player 가져오기

이 분야의 베스트셀러

아래의 도서와 구매하시면 이 도서들의 적립금을 즉시적용해 드립니다.

책 소개

출판사 리뷰

출판사 서평 ★ 이 책에서 다루는 내용 ★ ■ R의 기본적인 데이터 유형 및 구조 ■ 일반 업무를 표현하는 데 도움이 되는 기본 명령과 도구들 ■ 알고리즘 구현을 위한 R의 기본 제어 구조 사용 방법 ■ S3와 S4 클래스의 사용 및 개발 ■ S3와 S4 클래스 간의 차이 이해 ■ 일반 문제를 해결하기 위한 다양한 아이디어 획득 ■ R을 통한 객체지향 프로그래밍의 기본 설계 및 접근법 ★ 이 책의 대상 독자 ★ 이 책은 프로그래밍에 익숙하고 R 환경에 대한 기본적인 이해를 갖추었으며 R 언어를 사용한 프로그래밍 애플리... ★ 이 책에서 다루는 내용 ★ ■ R의 기본적인 데이터 유형 및 구조 ■ 일반 업무를 표현하는 데 도움이 되는 기본 명령과 도구들 ■ 알고리즘 구현을 위한 R의 기본 제어 구조 사용 방법 ■ S3와 S4 클래스의 사용 및 개발 ■ S3와 S4 클래스 간의 차이 이해 ■ 일반 문제를 해결하기 위한 다양한 아이디어 획득 ■ R을 통한 객체지향 프로그래밍의 기본 설계 및 접근법 ★ 이 책의 대상 독자 ★ 이 책은 프로그래밍에 익숙하고 R 환경에 대한 기본적인 이해를 갖추었으며 R 언어를 사용한 프로그래밍 애플리케이션 구현 방법을 배우고자 하는 사람에게 적합하다. 따라서 여러분이 이미 R 환경을 경험했으며 R의 기본을 이해하고 있다고 가정한다. 이 책은 독자가 소프트웨어 애플리케이션 개발에 익숙하다고 가정하기 때문에 구체적인 접근이나 실행 목적을 가진 광범위한 독자들에게 동기 부여를 하지는 않는다. ★ 이 책의 구성 ★ 여러 장에 걸쳐 설명할 내용은 다음과 같다. 처음 세 개의 장은 주로 시스템에 데이터를 불러오는 것과 관련된 기본 요구 사항과 데이터 연관 계산 시 가장 기본적인 업무에 중점을 두고 설명한다. 다음 세 개의 장은 여러 데이터 형식을 다루는 기술을 포함해 데이터를 살펴보거나 데이터로 작업할 때 실제로 발생하는 여러 가지 이슈 사항에 중점을 둔다. 그다음 세 개의 장은 기본 및 고급 프로그래밍 주제를 다룬다. 마지막 세 개의 장은 문제를 해결하는 데 여러 아이디어를 결합하는 방법을 설명하기 위해 좀 더 상세한 예제를 제공한다 1장, ‘데이터 형식’에서는 다양한 데이터 형식에 대해 설명한다. float, double, complex, factors, integer 같은 기본 표현을 포함한다. 또한 대화식 셸(shell)에서 벡터를 입력하는 방법에 대해 예를 들어 설명한다. 가장 기본적인 운영에 대한 설명과 R 셸과 상호작용하는 방법도 설명한다. 2장, ‘데이터 구조화’에서는 R 환경에서 데이터를 조직화하는 방법에 대해 좀 더 상세히 설명한다. 추가적으로 데이터를 접근하는 방법과 다양한 데이터 구조에 대한 기본 연산을 수행하는 방법을 설명한다. 조사 대상인 주요 데이터 구조에는 lists, arrays, tables, data frames가 있다. 3장, ‘데이터 저장과 결과 출력하기’에서는 데이터를 R 환경으로 가져오기 위한 방법에 대해 2장에서 설명한 주제를 기반으로 상세히 살펴본다. 또한 데이터를 저장하는 방법과 결과를 표시하는 방법에 대해서도 설명한다. 4장, ‘확률과 랜덤 숫자 계산하기’에서는 확률에 대한 상세한 연구와 R 언어의 샘플링 특성을 제공한다. R 환경은 데이터 분석 방법에 도움을 주는 다양한 특성을 갖고 있다. 모든 통계분석은 확률에 근거하므로 무시할 수 없는 주제다. 다양한 확률과 샘플링 옵션은 R 언어의 장점 중 하나며 이 장에서는 몇 가지 옵션을 알아본다. 5장, ‘문자와 문자열 연산’에서는 문자열에 대한 조사, 테스트, 연산 수행이 가능한 다양한 옵션을 설명한다. 이러한 주제는 데이터 세트가 일관적이지 않은 경우가 잦아 중요한 주제다. 게다가 파일에서 데이터를 읽는 루틴은 몇 가지 기본 검토를 필요로 한다. 6장, ‘시간 변수의 변환과 정의’에서는 시간 데이터 구조를 상세하게 설명한다. 기본 설명은 1장에서 다루었고 6장에서는 좀 더 상세한 내용을 다룬다. 시간 관련 데이터는 그 수가 점점 많아져 더 이상 무시할 수 없는 중요한 데이터 구조가 되었다. 7장, ‘기본 프로그래밍’에서는 가장 기본적인 흐름 제어와 R 언어의 프로그래밍 특성에 대해 상세히 살펴본다. 또한 조건부 실행과 다양한 반복 구조에 대해 상세 내용을 제공한다. 추가로 프로그램 작성, 실행 및 포맷팅과 연관된 일반적인 주제에 대해서도 설명한다. 8장, ‘S3 클래스’에서는 S3 클래스에 대한 상세 내용을 설명한다. 이 내용은 객체지향 프로그래밍에 대한 첫 번째이자 가장 일반적인 접근법이다. S3 클래스의 사용은 이미 객체지향 프로그래밍에 익숙한 사람들에게는 혼란스러울 수 있다. 하지만 유연성 때문에 S3 클래스는 R에서 객체지향 프로그래밍 접근법으로 가장 유명해졌다. 9장, ‘S4 클래스’에서는 S4 클래스에 대해 상세하게 설명한다. S3 클래스와 비교하면 S4 클래스는 객체지향 프로그래밍에 대한 좀 더 새로운 접근법이다. 이것은 한층 더 구조적인 접근법이기도 하며 객체지향 프로그래밍 관련 경험을 가진 사람들에게 더 익숙하다. 10장, ‘사례연구: 과정 등급’에서는 등급-추적 애플리케이션의 심층적인 사례를 제공한다. 총 세 가지의 사례 중 첫 번째로, 가장 간단한 사례다. 많은 사람들에게 익숙한 내용을 선택했다. ##예제를 제공하는 것이 아니라 등급-추적 애플리케이션의 세 가지 예를 10, 11, 12장을 통해 설명하는 것 같습니다. 11장, ‘사례연구: 시뮬레이션’에서는 몬테카를로 시뮬레이션(Monte-Carlo Simulation)에 근거해 데이터를 생성하는 데 사용되는 애플리케이션 사례를 제공한다. 또한 시뮬레이션을 실행하고 결과를 체계화하며 결과에 대한 기본 분석을 실행하는 데 사용하는 환경을 생성하기 위해 객체지향 접근 방법이 사용되는 방법을 보여준다. 12장, ‘사례연구: 회귀분석’에서는 여러분이 회귀분석을 수행하기 위해 사용할 수 있는 다양한 옵션을 제공하는 애플리케이션 사례를 제공한다. 회귀분석은 다양한 상황에서 발생하는 일반적인 작업이다. 개발된 이 애플리케이션은 객체지향 접근법의 사용을 보여줄 수 있는 방법으로써 연속형과 서수형 데이터를 융통성 있게 처리하는 방법을 보여준다. 여러분은 이 장의 내용을 팩트출판사 홈페이지(https://www.packtpub.com/sites/default/files/downloads/6682OS_Case_Study_Regression.pdf)에서 다운로드할 수 있다. 부록, ‘패키지 관리’에서는 패키지 설치, 갱신, 제거에 대해 간략히 소개한다. 패키지는 R의 분석 능력을 확장하기 위해 추가할 수 있는 라이브러리다. R을 확장하며 다른 라이브러리를 사용할 수 있는 점은 좀 더 강력한 특징에 해당한다.

저자 소개

클락슨 대학(Clarkson University)의 수학과 교원이다. 스펙트럼 방법과 확률미분방정식의 사용에 중점을 둔 수치해석이 전문 분야다. 특히 몬테카를로 시뮬레이션 결과 분석 분야에 R을 폭넓게 사용하고 있다.
연구 분야에서 R을 사용할 뿐만 아니라 R 환경을 통계 클래스에도 사용 중이며, 강의실에도 R을 적용하는 등 다양한 경험을 갖고 있다. 데이터 세트를 탐색하기 위해 R을 사용하는 것이 강의의 큰 비중을 차지한다.

역자 소개

산업공학을 전공했고, 의사 결정과 최적화 방법론에 관심이 많다. 다양한 데이터를 R과 파이썬으로 분석해본 경험이 있다. 세상에 존재하는 다양한 데이터를 이용해 여러 가지 문제를 해결하는 일을 하고 있다. 다양한 책과 현장 경험을 통해 데이터 수집, 정제, 분석, 보고 방법에 대한 지식을 얻는 것에 감사하고 있다. 에이콘출판에서 출간한 『RStudio 따라잡기』(2013), 『The R book(Second Edition) 한국어판』(2014), 『예측 분석 모델링 실무 기법』(2014), 『데이터 마이닝 개념과 기법』(2015), 『파이썬으로 풀어보는 수학』(2016), 『데이터 스토리텔링』(2016), 『R에서 객체 지향 프로그래밍 사용하기』(2016), 『파이썬 프로그래밍 개론』(2016), 『산업인터넷(IIOT)과 함께하는 인더스트리 4.0』(2017)을 번역했다.

머리말

★ 지은이의 말 ★

R 환경(R environment)은 벨 연구소에서 개발한 강력한 소프트웨어 제품군으로 S 언어를 모델로 하여 시작하였다. 초기 코드 기본(Code base)은 1993년 로스 이하카(Ross Ihaka)와 로버튼 젠틀맨(Robert Gentleman)이 개발했다. R은 여러 지원자들의 도움으로 급격히 성장했으며, 이후로 통계 계산의 표준이 되었다. 소프트웨어 제품군 자체가 언어를 구현하는 것을 넘어 잘 성장했고 ‘분석 환경’이 되어버렸다. 이것은 확장 가능하며 다양한 분야의 패키지로, 계속해서 인기를 끄는 강력한 자원이 될 수 있을 것이다.
이 책의 목적은 R 언어를 사용해 프로그래밍을 위한 자원을 제공하는 것이며, 여러분이 코드를 실행하고 테스트하기 위해 R 환경을 사용한다고 가정한다. 이 책은 대략 네 부분으로 나뉜다. 첫 번째 부분에서는 R이 데이터를 분류하는 방법과 데이터에서 계산을 하는 데 사용할 수 있는 옵션을 이해하기 위해 필요한 기본 아이디어와 주제에 대해 설명한다. 두 번째 부분에서는 R이 데이터를 체계화하는 방법과 데이터를 추적하고 표시하며 읽고 저장하는 데 사용 가능한 옵션에 대해 설명한다. 세 번째 부분에서는 R 언어에 특화된 프로그래밍 주제와 객체지향 프로그래밍에 사용 가능한 옵션에 대해 설명한다. 네 번째 부분에서는 여러 문제를 해결하는 데 적합한 주제를 설명하기 위해 몇 가지 확장된 사례를 살펴본다.

★ 옮긴이의 말 ★

내가 R 언어를 알게 된 지 어느덧 10년 정도 되었다. 그 때만 하더라도 R을 다룬 책은 외국 서적이 대부분이었고 관련 자료 중 대부분이 공식 R 사이트에서 제공한 매뉴얼 형태의 pdf 파일이었던 것으로 기억한다. 하지만 최근에는 R 언어와 관련된 국내 서적만 검색해보아도 수십 종에 달할 것으로 짐작된다. 아마 최근 몇 년간 출간된 데이터 분석 관련 도서들 중에서 R과 관련된 책이 가장 많은 비율을 차지하지 않을까 생각한다. 이처럼 R과 관련된 다양한 책들이 쏟아져 나오고 있다는 사실은 데이터 분석가들 가운데 상당수가 R을 사용하고 있으며, 데이터 분석 분야에 종사하기를 희망하는 학생들 또한 R에 관심이 많다는 것을 입증한다고 볼 수 있다.
전 세계적으로 R 언어 사용자가 늘어남에 따라 다양한 종류의 관련 책들이 나오고 있다. 물론 인터넷상에서 구할 수 있는 자료의 수와 종류도 최근 들어 다양해지는 것이 사실이다. 이 책은 이러한 추세를 감안해 R 언어의 기초를 간략하게 소개하고 R에서 어떻게 객체지향 프로그래밍을 할 수 있을지에 대한 내용을 소개한다. R에 대한 기본 내용을 익히고 나서 고급 기술을 더 배우고자 하는 분들에게 이 책은 큰 도움이 될 것이다. 특히나 R 언어의 객체지향 프로그래밍을 설명한 책은 찾아보기가 쉽지 않을 뿐 아니라 인터넷상에서도 관련 자료를 쉽게 구할 수 없다는 측면에서, 이 분야에 관심이 많은 분들에게 이 책이 어느 정도 정보를 제공하는 기회가 될 수 있으므로 기쁘게 생각한다. 특히 이론만 설명하는 것이 아니라 예제를 통해 설명하고 있으므로 구석구석 상세히 읽어보면 R을 좀 더 잘 활용하게 될 것이라고 믿는다.

목차

목차
1장. 데이터 형식
__값 할당
__작업 영역
__이산형 데이터 형식
____정수형
____논리형
____문자형
____팩터
__연속형 데이터 형식
____더블
____복소수
__특정 데이터 형식
____as와 is 함수에 관?한 유의 사항
__요약
2장. 데이터 구조화
__기초 데이터 구조
____벡터
____리스트
____데이터 프레임
____테이블
____행렬과 배열
____데이터 검열
____행과 열을 추가하기
__데이터 구조에 대한 연산
____apply 명령
____apply
______lapply와 sapply
______tapply
______mapply
__요약
3장. 데이터 저장과 결과 출력
__파일과 폴더 정보
____데이터 입력
____명령줄에서 데이터 입력하기
____파일에서 테이블 읽어오기
____CSV 파일
____고정 폭 파일
__결과 출력과 데이터 저장
____작업 공간 저장
____cat 명령
____출력, 형식, 붙여넣기 명령
__기본 입/출력
__네트워크 옵션
____소켓 열기
____기본 소켓 작업
__요약
4장. 확률과 난수 계산
__개요
__분포함수
__누적분포함수
__역누적 분포함수
__의사 난수 생성하기
__샘플링
__요약
5장. 문자와 문자열 연산
__기초 문자열 연산
__여섯 개 중점 작업
____문자열의 길이를 결정하기
____부분 문자열의 위치
____부분 문자열을 추출하거나 변경하기
____대소문자 변환
____문자열 나누기
____일정 형식을 갖춘 문자열 생성
__정규표현
__요약
6장. 시간 변수의 변환과 정의
__개요 및 가정
__문자열을 시간 데이터 형식으로 변환
__시간 데이터 형식을 문자열로 변환
__시간 데이터 형식에 대한 연산
__요약
7장. 기본 프로그래밍
__조건부 실행
__루프 구조
____for 루프 구조
____while 루프 구조
____repeat 루프 구조
____break와 next문
__함수
____함수 정의
____함수에 대한 인자
____범위
____스크립트 실행하기
__요약
8장. S3 클래스
__클래스와 메소드 정의하기
__객체와 상속을 정의하기
__캡슐화
__최종 유의 사항
__요약
9장. S4 클래스
__Ant 클래스 소개
__S4 클래스 정의
__S4 클래스에 대해 메소드를 정의하기
____신규 메소드를 정의하기
____다형성
____현 메소드 확장하기
__상속
__기타 참고 사항
__요약
10장. 사례연구: 과정 등급
__개요
__과정(Course) 클래스
____과정(Course) 클래스의 정의
____한 개 파일에서 등급을 읽어오기
__과제 클래스
____숫자형 등급 클래스
____문자형 등급 클래스
____예제: 파일에서 등급을 읽어오기
__인덱싱 연산 정의하기
__현존 함수를 재정의하기
__산술연산 재정의하기
__요약
11장. 사례연구: 시뮬레이션
__시뮬레이션 클래스
__몬테카를로 클래스
__예제
__요약
12장. 사례연구: 회귀분석
__데이터
__관련 클래스
__회귀 클래스
__데이터 탐색하기
__요약
부록. 패키지 관리

top