R에서 데이터를 txt, csv 로 저장하는 방법
먼저 데이터를 하나 만들어봅시다.
num=c(1,2,3)
char=c("a","b","c")
log=c(TRUE,TRUE,FALSE)
mydf=data.frame(num,char,log)
> mydf
num char log
1 1 a TRUE
2 2 b TRUE
3 3 c FALSE
txt 형태로 저장해봅시다. 저장은 working directory에 됩니다. working directory를 확인합시다.
>getwd()
"C:/Users/hi/Documents"
원하는 경로를 working directory로 지정합니다.
> setwd("C:/Users/Public")
경로가 맞게 지정되었나 확인합니다.
> getwd()
[1] "C:/Users/Public"
이제 txt 형태로 저장해봅시다. write.table 함수를 사용합니다.
> write.table(mydf,file="mydf.txt")
경로에 가보면 생성이 잘 된것을 확인할 수 있습니다.
그런데 따옴표가 전부 입력이 되었습니다. 따옴표를 없애려면 quote=FALSE 옵션을 추가해주면 됩니다.
> write.table(mydf,file="mydf.txt",quote=FALSE)
이번에는 csv형태로 저장해봅시다. 두 가지 방법이 있습니다. write.table 함수에 sep 옵션을 설정해주는 것입니다.
> write.table(mydf,file="mydf.txt",quote=FALSE,sep=",")
또는 write.csv 함수를 사용하면됩니다.
> write.csv(mydf,file="mydf.csv",quote=FALSE)
차이가 있다면, write.csv 의 경우 열 이름에 해당하는 첫번째 줄 num 앞에도 콤마가 찍힙니다.
이번에는 write.table 옵션을 자세히 알아봅시다.
write.table(x, file = "", append = FALSE, quote = TRUE, sep = " ",
eol = "\n", na = "NA", dec = ".", row.names = TRUE,
col.names = TRUE, qmethod = c("escape", "double"),
fileEncoding = "")
append : 기본값은 TRUE입니다. TRUE로 설정할 경우, 기존 파일 내용 뒤에 내용이 덧붙여집니다. FALSE일 경우 기존 파일 내용을 제거하고 덮어씁니다.
quote : 기본값은 TRUE입니다. 변수 이름과 문자열에 쌍따옴표를 표시할지 여부를 입력합니다.
sep : 기본값은 " " 입니다. 데이터와 데이터 사이를 무엇으로 구분할지를 입력합니다. 보통 " " 이나 ","가 사용됩니다. tab으로 구분하고 싶은 경우는 "\t"로 설정해주시면 됩니다.
eol : 기본값은 "\n"입니다. 개행(enter)를 의미합니다. 행과 행을 어떻게 구분할지를 입력합니다.
na : 기본값은 "NA"입니다. 결측치를 어떻게 표시할지 입력합니다.
dec : 기본값은 "." 입니다. 소수점을 어떤 기호로 표시할지 입력합니다.
row.names : 기본값은 TRUE 입니다. 행의 이름을 메모장에 쓸지 말지 결정합니다.
col.names : 기본값은 TRUE 입니다. 열의 이름을 메모장에 쓸지 말지 결정합니다.
fileEncoding : 파일 인코딩 방식을 결정합니다.
qmethod : 이중인용부호를 어떻게 처리할지 결정. 아직 잘 이해안됨.
'2. 데이터 > 2) 데이터 저장하기' 카테고리의 다른 글
R 데이터프레임을 엑셀 파일로 저장하기 (0) | 2020.12.02 |
---|---|
R 데이터프레임을 CSV 파일로 저장하기 (0) | 2020.12.02 |
R에서 그래프 그림파일로 저장하는 방법 (0) | 2020.01.28 |
댓글