ř反复将来自不同的数据帧类似于柱到一个数据帧
问题描述:
我有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"))
}
答
如果你想只是每次a
列data.frame你可以试试:
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
的列。
你想要一个“a”列还是多个“a”列,如果是后者,是否所有的数据帧都有相同的行数? –
所有这10个数据集都是模型的输出,即它们具有相同的列名称。我对他们每一个的列“a”感兴趣,并且评估数据框具有真正的值。所以我想要一个数据帧,它有真正的a,a来自df1,a来自df2,来自df3等。 – HelMel