¿Cómo guardar un data.frame en R?


137

Hice un data.frame en R que no es muy grande, pero lleva bastante tiempo construirlo. Me gustaría guardarlo como un archivo, que puedo abrir de nuevo en R?

Respuestas:


176

Hay varias formas Una forma es usar save()para guardar el objeto exacto. Por ejemplo, para el marco de datos foo:

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

Luego cárguelo con:

load("data.Rda")

También podría usar write.table()o algo así para guardar la tabla en texto plano, o dput()para obtener el código R para reproducir la tabla.


2
También existe dumpy los archivos creados serían source()editados, aunque la help(dump)página dice que savees "más seguro".
— IRTFM

44
Siempre prefiero el almacenamiento de datos en texto plano, por lo que preferiría dump()más save(), y write.table()másdump()
— Sacha Epskamp

¿Estoy en lo cierto de que write.table no conservará cosas como haber configurado una columna de 0 y 1 como factor, pero eso save()/ lo load()hará? Si es así, eso es algo a tener en cuenta también. Por lo general, tengo una sección de procesamiento de algunos archivos .csv y una vez que los obtengo donde me gustan, prefiero guardarlos para no tener que volver a ejecutar ese código cada vez que vuelvo a visitar mi proyecto. Por lo tanto, es importante considerar la preservación de ese trabajo / ajustes en la estructura.
— Hendy

44
Si. dump()También guarda la estructura. Lo bueno de esto write.tablees que escribe tablas de una manera que muchos programas pueden importar.
— Sacha Epskamp

2
Esto ahorra más que solo el marco de datos. Consulte saveRDSpara guardar un marco de datos sin su nombre (dhendrickson tiene una respuesta al respecto).
— PatrickT

91

Si solo está guardando un solo objeto (su marco de datos), también podría usarlo saveRDS.
Ahorrar:

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

Luego léelo con:

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

La diferencia entre saveRDSy savees que en el primero solo se puede guardar un objeto y el nombre del objeto no está obligado a ser el mismo después de cargarlo.


1

Supongamos que tiene un marco de datos que creó y denominado "Data_output", simplemente puede exportarlo al mismo directorio utilizando la siguiente sintaxis.

write.csv (Data_output, "output.csv", row.names = F, quote = F)

crédito a Peter e Ilja, UMCG, Países Bajos

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.