【发布时间】:2017-07-11 02:06:30
【问题描述】:
我觉得我非常接近解决方案,但目前我无法弄清楚如何到达那里。
我遇到了以下问题。
在我的“测试”文件夹中,我有堆叠的数据文件,名称为M1_1; M1_2、M1_3 等等:例如/Test/M1_1.dat。
不,我想分离文件,以便得到:M1_1[1].dat, M1_1[2].dat, M1_1[3].dat 等等。这些文件我想保存在特定的子文件夹中:Test/M1/M1_1[1]; Test/M1/M1_1[2] 等等,Test/M2/M1_2[1], Test/M2/M1_2[2] 等等。
现在我已经创建了子文件夹。我得到了以下命令来拆分文件,以便得到M1_1.dat[1] 等等:
for (e in dir(path = "Test/", pattern = ".dat", full.names=TRUE, recursive=TRUE)){
data <- read.table(e, header=TRUE)
df <- data[ -c(2) ]
out <- split(df , f = df$.imp)
lapply(names(out),function(z){
write.table(out[[z]], paste0(e, "[",z,"].dat"),
sep="\t", row.names=FALSE, col.names = FALSE)})
}
现在 paste0 命令为我提供了我想要的拆分数据(虽然它是 M1_1.dat[1] 而不是 M1_1[1].dat),但我不知道如何将这些数据放入我的子文件夹中。
也许你有想法?
提前致谢。
【问题讨论】:
标签: r loops directory subdirectory