R에 data.frame을 저장하는 방법?


137

R에서 data.frame을 크게 만들지 않았지만 빌드하는 데 시간이 오래 걸립니다. 파일을 파일로 저장하여 R에서 다시 열 수 있습니까?

답변:


176

몇 가지 방법이 있습니다. 한 가지 방법은 save()정확한 객체를 저장하는 데 사용 하는 것입니다. 예를 들어 데이터 프레임의 경우 foo:

save(foo,file="data.Rda")

그런 다음 다음을로드하십시오.

load("data.Rda")

write.table()테이블을 일반 텍스트로 저장하거나 테이블 dput()을 재현하기 위해 R 코드를 얻기 위해 또는 이와 유사한 것을 사용할 수도 있습니다 .


2
이 또한 dump및 생성 된 파일은 될 수 source()있지만, -ed help(dump)페이지는 말한다 save"안전"입니다.
IRTFM

4
난 항상 선호하는 것, 그래서 일반 텍스트로 데이터를 저장 선호하는 dump()이상 save(), 그리고 write.table()이상dump()
사샤 Epskamp에게

내가 그 write.table는 0과 요인 등 (1 개)의 열을 설정 한 다음과 같은 일을 보존하지 않습니다 수정,하지만 나는 save()/이 load()있습니까? 그렇다면 그 점도 고려해야합니다. 일반적으로 일부 .csv 파일 처리 섹션이 있으며 원하는 위치에 파일을 가져 오면 프로젝트를 다시 방문 할 때마다 해당 코드를 다시 실행할 필요가 없도록 저장하는 것을 선호합니다. 따라서 구조에 대한 작업 / 조정을 유지하는 것이 중요합니다.
Hendy

4
예. dump()또한 구조를 저장합니다. 좋은 점은 write.table많은 소프트웨어가 가져올 수있는 방식으로 테이블을 작성한다는 것입니다.
Sacha Epskamp

2
이것은 단지 데이터 프레임 이상의 것을 저장합니다. saveRDS이름없이 데이터 프레임을 저장하는 방법을 참조하십시오 (dhendrickson에 답이 있음).
PatrickT

91

단일 객체 (데이터 프레임) 만 저장하는 경우을 사용할 수도 있습니다 saveRDS.
저장하려면 :

saveRDS(foo, file="data.Rda")

그런 다음 다음을 읽으십시오.

bar <- readRDS(file="data.Rda")

의 차이 saveRDSsave이전 하나의 객체에 저장 될 수 있으며, 개체의 이름은 당신이 그것을 장착 한 후에 동일로 강제되지 않는 것입니다.


1

생성하고 "Data_output"이라는 데이터 프레임이 있다고 가정하면 다음 구문을 사용하여 동일한 디렉토리로 간단히 내보낼 수 있습니다.

write.csv (데이터 _ 출력, "output.csv", row.names = F, 따옴표 = F)

네덜란드 UMCG Peter and Ilja

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.