我有10个数据集:prediction1.csv,prediction2.csv,...它们都有类似的列,例如a,b,c ..
我想添加" a"将每个数据集中的列组合成一个组合数据框"评估"并相应地重命名它们a1,a2,a3 ..
到目前为止我尝试的是:
我在数据集中红了。这部分工作正常
for(i in 1:10){
assign(paste("pred.", i, sep = ""), read_csv(paste0("prediction", i, ".csv")))
}
我尝试将新列分配给"评估"数据框,但这不起作用,它创建变量evaluating[a1]
而不是向数据框添加变量
for(i in 1:10){
assign(paste("evaluating[a.", i,"],"), paste0("pred.",i,"$a" ))
}
答案 0 :(得分:0)
如果您只想要每个data.frame的a
列,您可以尝试:
files = paste0("prediction",1:10,".csv")
data = lapply(seq_along(files),function(x) {
dat = read.csv2(paste0("path/to/file/",files[x]))
dat = data.frame(dat$a) ; colnames(dat) = paste0("a",x)
return(dat)
})
do.call(rbind,data)
对于此方法,所有prediction
data.frames都需要具有相同数量的行以及名为a
的列。