循环内合并的问题

时间:2018-03-23 14:22:09

标签: r loops merge

我有一个特定的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]])
}

然而,我无法在第一个循环中做到正确。我在合并函数中如何处理循环是错误的。

1 个答案:

答案 0 :(得分:1)

您错过了get,因此它实际上会获取您要合并的数据帧。像这样:

lst<-list()
for (i in names){
  lst[[i]]<-merge(data,get(i),by="IID")
}