返回连接条件中指定的所有列(dplyr)

时间:2016-11-03 16:28:25

标签: r dplyr

如果我有两个数据框,我使用dplyr的left_join加入它们:

test <- data.frame(numbers = c(1, 2, 3), letters = c("a", "b", "c"))
test2 <- data.frame(numbers2 = c(1, 2), letters2 = c("a", NA))

left_join(test, test2, by = c("numbers" = "numbers2"))

我得到一个这样的数据框:

  numbers letters letters2
1       1       a        a
2       2       b     <NA>
3       3       c     <NA>

我没有在连接条件中看到numbers2列。这是设计的吗?我想获取此列,以便我可以看到test2返回NA的记录(即与连接条件不匹配的记录)。我不能依靠letters2这样做,因为它不是关键。

如何查看此专栏&amp; dplyr应该在他们的连接函数中创建一个参数来做这个吗?

1 个答案:

答案 0 :(得分:0)

是的,按设计,numbers2已包含在结果数据框的numbers中。如果原始test2不包含NA,你会在letters2中看到它。如果你真的想要它,那么在test2中将它复制为某个东西,然后在结果中重命名。