Zrobiłem ramkę data.frame w R, która nie jest zbyt duża, ale jej zbudowanie zajmuje trochę czasu. Chciałbym zapisać go jako plik, który mogę potem ponownie otworzyć w R?
137
Jest kilka sposobów. Jednym ze sposobów jest save()
zapisanie dokładnego obiektu. np. dla ramki danych foo
:
save(foo,file="data.Rda")
Następnie załaduj go za pomocą:
load("data.Rda")
Możesz także użyć write.table()
lub czegoś podobnego, aby zapisać tabelę w postaci zwykłego tekstu lub dput()
uzyskać kod R do odtworzenia tabeli.
dump
i utworzone pliki byłybysource()
-ed, chociażhelp(dump)
strona mówi, żesave
jest „bezpieczniejsza”.dump()
nadsave()
iwrite.table()
naddump()
save()
/load()
będzie? Jeśli tak, to też warto wziąć to pod uwagę. Zwykle mam sekcję przetwarzania niektórych plików .csv i kiedy znajdę je tam, gdzie mi się podoba, wolę je zapisać, więc nie muszę ponownie uruchamiać tego kodu za każdym razem, gdy ponownie odwiedzam mój projekt. Dlatego ważne jest, aby wziąć pod uwagę zachowanie tej pracy / poprawek w strukturze.dump()
zapisuje również strukturę. Zaletąwrite.table
jest to, że zapisuje tabele w sposób, który wiele programów może importować.saveRDS
jak zapisać ramkę danych bez jej nazwy (dhendrickson ma na to odpowiedź).Jeśli zapisujesz tylko jeden obiekt (ramkę danych), możesz również użyć
saveRDS
.Zapisać:
Następnie przeczytaj go za pomocą:
Różnica między
saveRDS
isave
polega na tym, że w pierwszym przypadku można zapisać tylko jeden obiekt, a nazwa obiektu nie musi być taka sama po załadowaniu.źródło
Powiedzmy, że masz utworzoną przez siebie ramkę danych o nazwie „Data_output”. Możesz ją po prostu wyeksportować do tego samego katalogu, używając następującej składni.
write.csv (Data_output, "output.csv", row.names = F, quote = F)
kredyt dla Peter and Ilja, UMCG, Holandia
źródło