R로 배우는 코딩의 학습 내용
1장 왜 R인가?
R은 누구든지 자유롭게 사용할 수 있는 오픈 소스로 통계, 기계 학습, 금융, 생물정보학, 그래픽스에 이르는 다양한 통계 패키지를 갖추고 있어 바로 응용할 수 있다. 또한 쉬운 설치와 실습이 가능하고 어떠한 데이터라도 분석해내며 그래프로 그려낼 수 있어, 컴퓨터 공학뿐 아니라 생명과학이나 인문학 등 여러 분야에서도 손쉽게 사용할 수 있다. 이 장에서는 이러한 R의 장점과 왜 배워야 하는지를 설명하고 있다.
2장 R 환경 구축
R은 오픈 소스이기 때문에 CRAN(www.r-project.org) 사이트에서 누구든지 자유롭게 내려받아 설치할 수 있다. R은 기본적으로 패키지들의 모음으로, 현재 CRAN에는 패키지 3,759개가 등록되어 있으며, 계속 개발되고 있다. 이 장에서는 이러한 R을 설치 방법에 따라 설치한다.
3장 데이터 구조의 이해와 코딩의 시작
R 코딩을 잘하기 위해서는 데이터 구조를 정확히 이해해야 한다. R은 벡터(vector), 배열(array), 리스트(list), 데이터 프레임(data frame) 등 다양한 데이터 구조를 지원하기 때문이다. 이러한 데이터 구조는 데이터 분석을 위해 매우 유용하다. 이 장에서 데이터 구조를 이해했다면 R 코딩의 날개를 단 것이나 다름없다.
4장 무조건 해 보기
R은 누구나 쉽게 할 수 있는 프로그래밍 언어이다. 앞에서 배운 R의 기본 내용을 바탕으로 차트로 나타내기, 애니메이션 출력하기, 단양팔경을 구글 맵 위에 올려놓기, 연설문 키워드 분석하기, 동전 던지기 시뮬레이션 등의 기초 내용을 미리 익혀 본다.
5장 차트 프로그래밍
차트는 데이터 분석 결과를 효과적으로 전달하기 위해 매우 유용하다. 플로차트는 알고리즘을 도식으로 표현한 것으로, 프로그램을 기록하고 설명하는 데에 또한 매우 유용하다. 이 장에서는 플로차트로 데이터를 알맞게 순서대로 정리한 후 R 프로그래밍으로 데이터를 분석한 차트를 출력한다.
6장 애니메이션
애니메이션의 개념을 이해하고, 카운트다운, 움직이는 차트, 움직이는 그림 등을 반복문으로 만들어 본다. 또한 실제 애니메이션 시나리오를 만들고 여러 개의 이미지 프레임을 만들어 실행한다.
7장 지도 활용하기
구글맵은 위성 사진, 지도, 360도 거리 전망, 실시간 교통정보, 두 지점 간의 최적 경로 등의 서비스를 제공한다. 이러한 구글맵을 활용하여 지도와 그래프를 출력하고, R의 ggmap을 활용하여 특정 지역의 지도, 충청북도의 명소인 단양팔경의 위치, 지진의 위치와 지진 강도 등을 표시한다.
8장 텍스트 마이닝과 워드 클라우드 활용
벡터 데이터를 이용하여 워드 클라우드를 연습하고, 통계청 데이터를 이용하여 행정구역별 인구수를 한눈에 볼 수 있는 워드 클라우드를 만든다. 또한 대통령 연설문의 워드 클라우드를 만들어 키워드를 비교 분석한다.
9장 공공 데이터 활용
공공데이터포털 사이트를 방문해 공공 데이터를 이용하는 방법을 알아본다. 공공데이터포털에서는 파일 데이터, 오픈 API, 시각화 등의 다양한 방식을 제공하고 있으며, 회원 가입만 하면 검색을 통해 원하는 공공 데이터를 빠르게 찾아볼 수 있다. 이 장에서는 특히 오픈 API를 활용하는 방법을 알아본다.
10장 네이버 오픈 API 활용
네이버는 네이버 오픈 API를 통해 다양한 정보를 제공하고 있다. 이러한 API를 활용하기 위해 API 키를 발급받는 절차와 API의 기본 사항을 알아본다. 그리고 실제로 네이버 블로그를 검색하고 워드 클라우드를 만들어 어떤 키워드들이 강조되었는지 비교한다.
11장 웹 스크래핑의 활용
웹 스크래핑을 활용하여 상품 카탈로그를 제작하거나 뉴스 기사, 블로그와 카페의 게시물, 회사의 프로필과 금융 데이터 등을 수집할 수 있다. 이 장에서는 상품 정보의 웹 스크래핑과 구글 검색의 웹 스크래핑을 경험한다.
12장 네트워크 분석
네트워크 분석에 간단히 사용할 수 있는 igraph를 이용하여 간단한 네트워크 유형과 페이스북 사용자 네트워크의 사회 연결망을 분석한다.
13장 시뮬레이션
동전 던지기 시뮬레이션과 난수를 이용하여 원주율을 계산하는 예로 사용되는 몬테카를로 시뮬레이션에 대해 알아본다.
14장 인공지능과 인공 신경망
인공지능과 기계 학습 분야에서 연구되는 학습 알고리즘의 하나인 인공 신경망에 대해 알아보고, 인공 신경망을 이용해 과거 주가 시계열 데이터로부터 학습 과정을 거쳐 주가를 예측하는 방법을 살펴본다.