首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Dplyr join on by=(a = b),其中a和b是包含字符串的变量?

Dplyr join on by=(a = b),其中a和b是包含字符串的变量?
EN

Stack Overflow用户
提问于 2015-02-09 04:34:24
回答 4查看 17.8K关注 0票数 38

我正在尝试使用dplyr执行两个表的内部连接,我认为我被非标准的计算规则绊倒了。当使用by=("a“= "b")参数时,当"a”和"b“是实际字符串时,一切都会正常工作。下面是一个有效的玩具示例:

代码语言:javascript
复制
library(dplyr)
data(iris)

inner_join(iris, iris, by=c("Sepal.Length" = "Sepal.Width"))

但是假设我将inner_join放在一个函数中:

代码语言:javascript
复制
library(dplyr)
data(iris)

myfn <- function(xname, yname) {
    data(iris)
    inner_join(iris, iris, by=c(xname = yname))
}

myfn("Sepal.Length", "Sepal.Width")

这将返回以下错误:

Error: cannot join on columns 'xname' x 'Sepal.Width': index out of bounds

我怀疑有一些花哨的表达,离开,引用,或取消引用,我可以做到这一点,但我对这些细节有点模糊。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28399065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档