본문 바로가기
언어/R

[R-007] 외부 데이터 불러오기, 저장하기

by 천왕지짐 2023. 4. 12.
분석할 데이터를 RStudio로 일일이 만들어 사용하는 일은 별로 없을 듯하고 주로 외부 데이터를 가져와서 분석을 하는게 일반적일 것이다.  많이 사용하는 외부 데이터는 주로 .txt, .csv, .xlsx 등이 될 것이고 그외에 .xml, .json 등도 사용되고 있다. 여기에서는 .txt, .csv, .xlsx만 다뤄보자.

 

 - txt : read.table()

 - csv : read.csv()

 - xlsx : read_excel()

 

주의할 사항으로 데이터의 위치를 확인해야 한다. 작업디렉토리에 위치시켜야 정상적으로 동작시킬 수 있다. 작업디렉토리를 확인하는 방법은 getwd()이며 다른 곳으로 지정하려면 setwd("c:/...")를 이용하면 된다.

 

Sample 데이터는 학교알리미 사이트에서 공개데이터로 구할 수 있는 2023학년도 고등학교 기본현황 데이터이다.

 

1) read.table()

형식 : read.table("원시 데이터", header = FALSE, skip = 0, nrows = -1, sep = "", … )

사용예)

txt_data <- read.table("txt_data.txt", encoding = "EUC-KR", fileEncoding = "UTF-8" header = TRUE)

txt_data.txt
0.73MB

원시데이터에 변수명이 없다면 col.names 옵션을 사용하여추가할 수 있다. 

사용예)

varname <- c("name", "age", "tel")

txt_data <- read.table("C:/data01.txt", encoding = "EUC-KR", fileEncoding = "UTF-8" header = TRUE col.names = varname)

 

필요하면 skip 옵션을 사용하여 몇개의 행을 건너띄도록 할 수도 있고 nrows 옵션을 사용하여 몇개의 행을 불러올지 지정할 수도 있다. 데이터가 쉼표로 구분되어 있다면 sep 옵션을 사용하면 된다.

 

2) read.csv()

csv파일은 read.table()과 비슷하기는 하나 원래 쉼표(,)를 이용해 열을 구분하는 데이터이므로 sep옵션을 사용하지 않아도 되며 데이터의 첫행을 변수명으로 가져온다는 것만 주의하면 되겠다.

사용예)

csv_data <- read.csv("csv_data.csv")

csv_data.csv
1.03MB

 

3) read_excel()

분석을 위해 가장 많이 가져오는 데이터는 엑셀 데이터일텐데 다른 함수와 다르게 read_excel()은 readxl 패키지 안에 있는 함수이므로 먼저 패키지를 설치하고 로드한 후 사용해야 한다.

 

사용예)

install.packages('readxl')
library(readxl)

excel_data <- read_excel("excel_data.xlsx")

excel_data.xlsx
0.44MB

엑셀 시트가 여러개인 경우에는 sheet옵션을 사용한다. 예를 들어 두번째 시트인 경우에는 다음과 같이 사용한다.

excel_data <- read_excel("excel_data" sheet = 2)

 

 

분석작업이 끝났으면 결과를 .csv나 .xlsx 또는 .rda로 저장해보자. 

 

 - csv : write.csv()

 - xlsx : write_xlsx

 

1) write.csv()

 

형식 : write.csv(저장할 데이터 프레임 이름, file = "저장할 파일명.csv")

 

2) write.xlsx()

 

형식 : write.xlsx(저장할 데이터 프레임 이름, path = "저장할 파일명.xlsx")

 

write.xlsx()는 writexl 패키지에 있는 함수이므로 먼저 패키지를 설치하고 로드한 후 사용해야 한다.

 

install.packages("writexl")

library(writexl)

 

3) save()

 

형식 : save(저장할 데이터 프레임 이름, file = "저장할 파일명.rda")

'언어 > R' 카테고리의 다른 글

[R-009] 패키지 - 데이터 시각화  (0) 2023.04.16
[R-008] R패키지 - 데이터 핸들링(dplyr)  (0) 2023.04.15
[R-006] 데이터 프레임(Data Frame)  (0) 2023.04.04
[R-005] 벡터(Vector) 2  (0) 2023.03.29
[R-004] R 기본 문법  (0) 2023.03.29

댓글