我有一个特定的data.frame(数据),我想与超过40个其他data.frames(df.1 df.40)合并,总是使用相同的列" IID"。 我首先使用df.n创建一个向量。前5:
names<-c(df.1,df.2,df.3,df.4,df.5)
然后我尝试使用此脚本但没有成功:
lst<-list()
for (i in names){
lst[[i]]<-merge(data,[i],by="IID")
}
然后我打算这样做:
new_names<-c(d.1,d.2,d.3,d.4,d.5)
for (i in 1:length(lst)) {
assign(new_names[i], lst[[i]])
}
然而,我无法在第一个循环中做到正确。我在合并函数中如何处理循环是错误的。
答案 0 :(得分:1)
您错过了get
,因此它实际上会获取您要合并的数据帧。像这样:
lst<-list()
for (i in names){
lst[[i]]<-merge(data,get(i),by="IID")
}