La pregunta lo dice todo: quiero tomar un objeto list lleno de data.frames y escribir cada data.frame en un archivo .csv separado donde el nombre del El archivo .csv corresponde al nombre del objeto de la lista.Escribir lista de data.frames para separar archivos CSV con lapply
Aquí hay un ejemplo reproducible y el código que he escrito hasta ahora.
df <- data.frame(
var1 = sample(1:10, 6, replace = TRUE)
, var2 = sample(LETTERS[1:2], 6, replace = TRUE)
, theday = c(1,1,2,2,3,3)
)
df.daily <- split(df, df$theday) #Split into separate days
lapply(df.daily, function(x){write.table(x, file = paste(names(x), ".csv", sep = ""), row.names = FALSE, sep = ",")})
Y aquí es la parte superior del mensaje de error que R escupe
Error: Results must have one or more dimensions.
In addition: Warning messages:
1: In if (file == "") file <- stdout() else if (is.character(file)) { :
the condition has length > 1 and only the first element will be used
Qué me estoy perdiendo aquí?
Duplicado de http://stackoverflow.com/q/3411429/271616 –
@Joshua - dar, Google search fail. Debería irme a casa ahora. Siéntase libre de cerrar este. – Chase
No es exactamente un duplicado. Su error indica que está pasando más de una cadena a write.table como nombre de archivo. names (x) devuelve todos los colnames de un marco de datos. –