2 Loading data into R

Download Report

Transcript 2 Loading data into R

LOADING DATA INTO R
전자전기컴퓨터공학부
G201449030 이승연
THIS CHAPTER COVERS
 파일에 있는 데이터로 작업하기
 관계형 데이터베이스로 작업하기
 마무리
파일에 있는 데이터로 작업하기
 데이터프레임 구조 이해 - 잘 구조화된 데이터
행렬과 마찬가지의 모습을 하고 있지만 행렬과 달리 다양한 변수,
관측치, 범주 등을 표현하기 위해 특화됨
 읽기 가장 쉬운 데이터 형식 : 헤더가 포함된 테이블 구조
 행과 열(row & column)
저장되거나 전송되는 데이터
블록의 맨 앞에 위치한
보충 데이터
파일에 있는 데이터로 작업하기
 데이터프레임 구조 이해 - 잘 구조화된 데이터
 http://win-vector.com/dfiles/car.data.csv
• 헤더로서 column의 이름
• 분리자가 콤마일 경우
comma-separated
values(.csv)형식
실제
데이터들
파일에 있는 데이터로 작업하기
 URL을 통하여 데이터 불러오기
파일이나 URL로부터
읽어서 데이터프레임에
저장하도록 하는 명령어
uciCar : 새로운 데이터
프레임 오브젝트
컬럼이나 필드를 콤마로
분리
헤더의 유무
파일에 있는 데이터로 작업하기
 불러온 데이터 분석하기
Class() : R
오브젝트의 타입
파일에 있는 데이터로 작업하기
 불러온 데이터 분석하기
summary() : R
오브젝트의 요약본
파일에 있는 데이터로 작업하기
 불러온 데이터 분석하기
dim() : row,
column의 수
파일에 있는 데이터로 작업하기
 불러온 데이터 분석하기
help() : 클래스에
관한
도움 문서
제공
help(class(uciCar))
help(“data.frame”)
파일에 있는 데이터로 작업하기
 다른 데이터 형식 :
.tsv, pipe-separated file, Microsoft Excel workbooks, JSON data, XML
 read.table() : tab, spaces, pipes등으로 분리된 타입에도 사용 가능
 R 패키지
파일에 있는 데이터로 작업하기
 데이터프레임 구조 이해 - 덜 구조화된 데이터
 모든 데이터가 항상 사용될 준비가 되지는 않았다
 ex) http://mng.bz/mZbu
using R
 data 불러오기
문자열을 factor로
의미 있는
데이터
파일에 있는 데이터로 작업하기
 결과화면
의미있는
데이터
파일에 있는 데이터로 작업하기
 column이름 설정하기
column 이름 설정
c() : R의 메소드를 벡터로
만들어 주는 명령어
factor : 범주형 변수를 위한
데이터 타입
파일에 있는 데이터로 작업하기
 결과화면
 Column 이름이 생성됨
 Good.Loan의 데이터 값이 BadLoan과 GoodLoan으로 변경
파일에 있는 데이터로 작업하기
 리스트 생성
행
 반복문 실행
데이터프레임 d에 있는
column의 수
반복문 실행되는 동안 데이터의 전체 column이
리스트를 통해 재배치
열
THIS CHAPTER COVERS
 파일에 있는 데이터로 작업하기
 관계형 데이터베이스로 작업하기
 마무리
관계형데이터베이스로 작업하기
가장
중요한
클라이언
트
데이터
데이터베이스
MySQL, PostgreSQL,
H2…
 다양한 DB 툴 -> 파일로 가져오기 까다로움
 DB의 데이터로 작업하기에 가장 옳은 방법 : R과 데이터베이스를 바로 연
결
관계형데이터베이스로 작업하기
• 데이터 예시
• PUMS data(Public Use Microdata Sample; American Community
Survey)
• http://www2.census.gov/acs2011_1yr/pums/csv_pus.zip
• http://www2.census.gov/acs2011_1yr/pums/csv_hus.zip
서버가 없는 데이터베이스 엔진
데이터베이스 브라우저
http://squirrel-sql.sourceforge.net/
http://www.h2database.com/html/main.htm
l
데이터베이스 로딩 툴
https://github.com/WinVector/SQLScrewdriver/bl
ob/master/SQLScrewdriver.jar
관계형데이터베이스로 작업하기
•
자바 명령어 실행 위해 자바 설치
-> 시스템 변수 편집(java jdk와 jre가 설치되어 있는
곳\bin;)
•
명령 용이하게 파일은 한 곳에
관계형데이터베이스로 작업하기
• Squirrel SQL 설치방법
관계형데이터베이스로 작업하기
• Squirrel SQL 설치방법
관계형데이터베이스로 작업하기
• Squirrel SQL 설치방법
관계형데이터베이스로 작업하기
• Squirrel SqL 설치방법
관계형데이터베이스로 작업하기
• Squirrel SQL과 H2가 설치되어 잘 연결된 결과화면
Squirrel SQL
H2
관계형데이터베이스로 작업하기
• 데이터베이스에 데이터 넣기
SQL Screwdriver XML configuration file
관계형데이터베이스로 작업하기
• 데이터베이스에 데이터 넣기
MySQL, PostgreSQL
SQL Screwdriver XML configuration file
관계형데이터베이스로 작업하기
• 데이터베이스에 데이터 넣기
관계형데이터베이스로 작업하기
• 데이터베이스에 데이터 넣기
관계형데이터베이스로 작업하기
• 데이터베이스에 있는 데이터를 R로 불러오기
DB드라이버가 로드되기
전에 여분의 메모리를
위한 자바 옵션 설정
관계형데이터베이스로 작업하기
• 데이터베이스에 있는 데이터를 R로 불러오기
패키지 설치 후
불러오기
관계형데이터베이스로 작업하기
• 데이터베이스에 있는 데이터를 R로 불러오기
XML database
configuration과 같이
데이터베이스 드라이버의
이름 명료화
관계형데이터베이스로 작업하기
• 데이터베이스에 있는 데이터를 R로 불러오기
열 이름을 문자열로 묶을 때 작은
따옴표를 식별자로
관계형데이터베이스로 작업하기
• 데이터베이스에 있는 데이터를 R로 불러오기
DB로
연결
관계형데이터베이스로 작업하기
• 데이터베이스에 있는 데이터를 R로 불러오기
hus 테이블에서
ORIGRANDGROUP<=1의
조건을 만족하는 튜플 추출
-> dhus로
관계형데이터베이스로 작업하기
• 데이터베이스에 있는 데이터를 R로 불러오기
IN아래의 조건을만족하는
hus.SERIALNO 값들 과
같은 값을 가지는
pus테이블 안의 SERIALNO
데이터를 dpus로
관계형데이터베이스로 작업하기
• 데이터로부터 subset 선택하기
자료요약함수, 데이터프레임의 부분집합을
추출할 때 편리한 함수
관계형데이터베이스로 작업하기
• Recoding Variables : 가독성 위하여 변수
recoding
Reorder levels of factor
Ex)
레퍼런스 M을 만들어서 F가
M으로부터 다르게 부호화
관계형데이터베이스로 작업하기
• Recoding Variables : 가독성 위하여 변수
recoding
1~
7
관계형데이터베이스로 작업하기
• Recoding Variables : 가독성 위하여 변수
recoding
1~2
4
관계형데이터베이스로 작업하기
• Recoding Variables : 가독성 위하여 변수
recoding
관계형데이터베이스로 작업하기
• Recoding Variables : 가독성 위하여 변수 recoding
관계형데이터베이스로 작업하기
• as.factor() 명령어
levels라 불리는
• factor: 범주형 변수를 값들
위한 데이터 타입 / 가능한 변수의 모든 값들을 모아놓은 리스트
• 각 level은 지시자 변수(indicator variable) 역할을 한다
Null값 처리를 위해 호스트 변수와
함께 사용하는 변수
관계형데이터베이스로 작업하기
• Summary()
THIS CHAPTER COVERS
 파일에 있는 데이터로 작업하기
 관계형데이터베이스로 작업하기
 마무리
마무리
• 데이터 프레임의 정의 구조 이해하기
• 파일과 데이터베이스로부터 데이터 불러오기
• 큰 규모의 dataset -> 데이터베이스로부터 직접 연결
• Chap3 : explore, examine, summarize
The end