我有一个非常大的数据集,我已经把它分割成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'等每个数据帧吗? –