在R组合函数中将对象作为列名称调用

时间:2015-07-23 09:50:47

标签: r merge split-apply-combine

我有一个数组(pstype),其元素是另一个数据框的列名,我想通过附加" .x"从该数组中逐个调用列名[Array Element]。和" .y"用它并将这些列放在一个新的数据框(new_df)中:

例如:

pstype<-c("eid","esal","exp")

df2:
eid esal.x  exp.x   esal.y  exp.y
2    4       1       4       1
3    4       2       4       2
4    4       3       4       3
5    3       3       3       3

df1:
eid
2
3
4
5

这就是我想要做的事情:

for(i in 1:length(pstype)){

  xpstype<-paste(pstype[i],".x",sep="")
  ypstype<-paste(pstype[i],".y",sep="")

  new_df<-merge(df1,df2[,c("eid",xpstype,ypstype)],by="eid")

}

我得到的错误是:将对象传递给c("eid",xpstype,ypstype)

  

错误:选择了未定义的列

0 个答案:

没有答案