Pytanie to wszystko - chcę wziąć obiekt listy pełen data.frames i zapisać każdy plik data.frame w osobnym pliku .csv, gdzie nazwa Plik .csv odpowiada nazwie obiektu listy.Napisz listę data.frames, aby oddzielić pliki CSV z lapply
Oto powtarzalny przykład i kod, który napisałem do tej pory.
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 = ",")})
A oto top komunikatu o błędzie, że R wypluje
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
Co ja tu brakuje?
Duplikat http://stackoverflow.com/q/3411429/271616 –
@Joshua - dar, wyszukiwanie Google nie powiedzie się. Powinienem już iść do domu. Zapraszam do zamknięcia tego. – Chase
To nie jest dokładnie duplikat. Twój błąd mówi, że przekazujesz więcej niż jeden ciąg znaków do zapisania.tabeli jako nazwy pliku. names (x) zwraca wszystkie nazwy ramek danych. –