这感觉这应该有一个简单的解决方案,但它让我望而却步。
我有一组现有的数据框,称为set1,set2和set3。我想将它们中的每一个 - 分别 - 与另一个数据框合并,如下所示:
a <- merge(bigdata, set1, by = keyID)
b <- merge(bigdata, set2, by = keyID)
c <- merge(bigdata, set3, by = keyID)
...
我想动态引用现有的'套'(在循环中),所以我创建了这个对象:
nam <- paste('set', i, sep = '')
当然,如果我这样做:
> nam
我明白了:
> "set1"
但我想使用“set1”引用来表示合并代码中的apprpopriate数据框,而不仅仅是类“chr”的对象。任何帮助一如既往地受到赞赏。
答案 0 :(得分:1)
您可以使用get
作为Juba建议,或者您输入一个列表。
bigset<-list(set1=set1,set2=set2, [etc)
abc_list <- sapply(1:length(bigset) function(j) merge(bigdata,bigset[[j]])
你完成了。
或者,不创建bigset
,
setnames<-ls(pattern='set[0-9]{1,})
abc_list<-sapply(1:length(setnames), function(j) merge(bigdata,get(setnames[j]))