当使用关键字连接data.frame时,如果一个关键字有缺失值(NA),我的直觉是带有NA关键字的行在第二个数据框中应该没有匹配项。但令我惊讶的是,如果两个数据框中都有NA,则dplyr将它们匹配为值。这使得情况变得更加混乱,因为这在dplyr存储库的问题中已经详细讨论请参阅此处,并且似乎已经解决了!如果是这样,那么我没有看到这是正确的解决方案;或者我可能错过了什么。我正在使用dplyr
事实上,我本来期望以下内容:
0.7.4
。
t1 <- data.frame(a = as.character(c("1", "2", NA, NA, "4", "2")), b = c(1, 2, 3, 3, 4, 5), stringsAsFactors = FALSE)
t2 <- data.frame(a = as.character(c("1", "2", NA)), c = c("b", "n", "i"), stringsAsFactors = FALSE)
library(dplyr)
t1
#> a b
#> 1 1 1
#> 2 2 2
#> 3 <NA> 3
#> 4 <NA> 3
#> 5 4 4
#> 6 2 5
t2
#> a c
#> 1 1 b
#> 2 2 n
#> 3 <NA> i
left_join(t1, t2, by = "a")
#> a b c
#> 1 1 1 b
#> 2 2 2 n
#> 3 <NA> 3 i
#> 4 <NA> 3 i
#> 5 4 4 <NA>
#> 6 2 5 n
事实上,我本来期望以下内容:
#> a b c
#> 1 1 1 b
#> 2 2 2 n
#> 3 <NA> 3 <NA>
#> 4 <NA> 3 <NA>
#> 5 4 4 <NA>
#> 6 2 5 n