我正在尝试使用dplyr执行两个表的内部连接,我认为我被非标准的计算规则绊倒了。当使用by=("a“= "b")参数时,当"a”和"b“是实际字符串时,一切都会正常工作。下面是一个有效的玩具示例:
library(dplyr)
data(iris)
inner_join(iris, iris, by=c("Sepal.Length" = "Sepal.Width"))
但是假设我将inner_join放在一个函数中:
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
我怀疑有一些花哨的表达,离开,引用,或取消引用,我可以做到这一点,但我对这些细节有点模糊。
https://stackoverflow.com/questions/28399065
复制相似问题