내가 원하는 데이터셋을 R에서 다루기 위해서는 데이터를 불러오는 것이 불가피하다.
오늘은 데이터를 불러오는 방식들에 대해 소개하려 한다.
1. csv 파일 불러오기
- read.csv(‘파일명.csv’)
- 파일 내 첫번째 행에 이름에 대한 행이 없는 경우 header가 없음을 표기해야 한다.
read.csv(‘파일명.csv’, header=F)
2. txt 파일 불러오기
- read.table(‘파일명.txt’)
- 결측값이 있는 경우 에러가 발생한다.
- 열 구분이 기호로 되어 있는 경우 표기해야 한다.
read.table(‘파일명.txt’, sep='기호')
- 해당 함수는 header 값에 대해 F가 기본값이다. 따라서 header가 있는 경우 관련 표기가 필요하다.
3. excel 파일 불러오기
-
엑셀파일을 불러오는 함수를 가지고 있는 패키지(readxl)를 다운로드 한다.
install.packages('readxl')
library(readxl)
-
readxl('파일명.xlsx')
읽을 시트명이 따로 있는 경우 sheet='시트번호' 파라미터를 추가하고, 첫 행이 변수명이 아닌 경우 col_names=F 파라미터를 추가한다.
4. R data 파일 불러오기
- load('파일명.rda')
- 저장 : save('파일명.rda')
5. sav 파일 불러오기
- 필요 패키지(foreign) 다운로드
library(‘foreign’)
- read.spss('파일명.sav')
- 불필요한 출력 결과 제거를 위해 as.data.frame으로 묶어준다.
6. xml 파일 불러오기
- 필요 패키지(XML) 다운로드
library(‘XML’)
- xmlTreeParse로 파일 전체를 load 한 후, xpathApply를 통해 원하는 데이터를 추출해온다
DocFromXml <- xmlTreeParse('파일명.xml', useInternal=T)
RootNode <- xmlRoot(DocFromXml)
#name라는 변수 추출
names <- xpathApply(RootNode, '//name', xmlValue)
#score라는 변수 추출
scores <- xpathApply(RootNode, '//score', xmlValue)
#변수를 table로 만들기
t = data.frame(NAME = names, SCORE = scores)
7. html 파일 불러오기
- XML 패키지의 readHTMLTable()
- readHTMLTable('페이지명.html')
- 보기에 용이하기 위해선 data.frame을 활용해준다.
8. 복사/붙여넣기 불러오기
- read.delim('clipboard')
해당 함수는 ctrl+c 를 통해 클립보드에 담긴 데이터를 붙여넣을 때 활용된다.