使用字符变量指定dplyr函数中的参数[重复]

idfiyjo8  于 2023-02-06  发布在  其他
关注(0)|答案(1)|浏览(103)

此问题在此处已有答案

R: Standard evaluation for *_join (dplyr)(1个答案)
3天前关闭。
我正在尝试使用dplyr left_join来合并两个键-列名不同的df。如果我使用help指定的sintax,我可以做如下操作:

aaa<- data.frame(
  a = 1:10,
  b = letters[1:10]
)

bbb <- data.frame(
  c = 1:15,
  d = LETTERS[15:1]
)

aaa_join_bbb <- aaa %>%
  left_join(bbb, by = c("a" = "c"))

结果是我所期望的,但现在我尝试使用变量来做同样的事情,我在变量中存储了用于执行合并的列的名称。

key_aaa <- "a"
key_bbb <- "c"

aaa_join_bbb <- aaa %>%
  left_join(bbb, by = c(key_aaa = key_bbb))

在第二种情况下,R给予一个错误...我已经看到许多类似的问题,但我无法解决。任何提示?

tez616oj

tez616oj1#

与Maël的答案类似,使用setNames

aaa_join_bbb <- aaa %>%
    left_join(bbb, by = setNames(key_bbb, key_aaa))

相关问题