我对 R 很陌生,我需要你的帮助来解决一个与非常耗时的过程相关的问题。
我有一个非常大的数据集,我正在尝试对其进行子集化以创建文件 dat。我编写的代码正在运行,但需要很长时间,而且我不知道如何让它更快。
这是我对数据集进行子集化的一段代码
df<-data.frame(a,b,c,d,e,f,g,h)
mylist <- list()
for(i in 1:(length(df$a))) {
mylist[[i]] <- subset(df, a==df$a[i])
dep <- as.data.frame(mylist[i])
SHYRMODY <- split(dep, data.frame(dep$a,dep$b, dep$c, dep$d), drop=TRUE)
lapply(names(SHYRMODY),function(x, SHYRMODY)
write.table(SHYRMODY[[x]],
paste(x, ".dat", sep = ""),
col.names=FALSE,
row.names=FALSE,
sep="\t",
quote=FALSE),SHYRMODY)
}