r - inner_join失败,因为在llply循环

时间:2015-06-23 13:43:39

标签: r dplyr

我相信我的循环中有一个范围问题...我确定这是一个简单的错误......但我不确定如何修复。我试图循环一些数据,并使用dplyr的inner_join连接数据帧。但是,我似乎无法在by参数中获取变量名称。这是我想要做的测试案例:

test_inner <- function() {
  df1 <- data.frame(id=c(1,2), val=c("a", "b"), stringsAsFactors=F)
  df2 <- data.frame(id=c(1,2),val=c("c", "d"), stringsAsFactors=F)
  df3 <- data.frame(id=c(1,2),val=c("e", "f"), stringsAsFactors=F)
  l2 <- list(df2=df2, df3=df3)
  q1 <- list(df1=df1, df2=l2)
  q2 <- list(df1=df1, df2=l2)
  l1=list(q1,q2)
  vars = c("df2", "df3")
  llply(l1, function(x) { 
    llply(vars, function(y) {
      m <- inner_join(x$df1, x$df2[y], by="id", copy=T)
    })   
  })
}

我希望能够加入df1和df2并创建一个新合并的数据框,但它失败并出现以下错误:

Error: cannot join on columns 'id' x 'id': index out of bounds 

我做错了什么?

0 个答案:

没有答案