我有一個非常大的數據集,我已經把它分割成50塊 所以基本上文件看起來像: 文件1 文件2 文件3 。 。 。 file50(數據幀)在拆分數據幀的列表循環(在尺寸誤差)
file_total <- c(file1,...,file50)
我知道這將是合併成一個列表,但我不能使用,因爲整個rbind
所有數據巨大,plyr庫只是需要永遠運行
並且在每個文件中,我必須根據1個因子對它們進行分割,將其命名爲「id」,然後能夠將每個id子集寫入.csv文件
到目前爲止,我的代碼是:
d_split <- split(file1, file1[1])
library(plry)
id <- unlist(lapply(d_split,"[",1,1)) # this returns the unique id
for (j in seq_along(id))
{
write.csv(d_split[[j]], file=paste(id[j], "csv", sep="."))
}
這個工程!
但是當我試圖把它變成一個又一個for循環它不工作:
for (i in file_total)
{
d_split <- split(i, i[1])
id <- unlist(lapply(d_split,"[",1,1))
for (j in seq_along(id))
{
write.csv(d_split[[j]], file=paste(id[j], "csv", sep="."))
}
}
它返回以下錯誤信息:
Error in FUN(X[[1L]], ...) : incorrect number of dimensions
我的意思是我可以做它通過將50個文件複製並粘貼到代碼中手動執行,但只是想知道是否有人可以修復我的代碼,只需點擊一下即可解決問題。
是'file1','file2'等每個數據幀嗎? –