English · PDF 218
例如,海拔和经度可以唯一标识每个机场,但它们并不是好的标识符!
airports %>% count(alt, lon) %>% filter(n > 1) #> Source: local data frame [0 x 3] #> Groups: alt [0] #> #> # ... with 3 variables: alt
如果你确实存在缺失的键,那么在使用内连接还是外连接时需要慎重考虑,仔细考虑是否要丢弃没有匹配的行。
请注意,仅仅检查连接前后的行数并不足以确保你的连接顺利进行。如果你在进行内连接时两个表中都存在重复的键,你可能会不走运,因为被丢弃的行数可能恰好等于重复的行数!
最后一种两表动词是集合操作。一般来说,我使用它们的频率最低,但当你想把一个复杂的筛选拆分成更简单的部分时,它们偶尔会很有用。所有这些操作都针对完整的行,比较每个变量的值。它们要求 x 和 y 输入具有相同的变量,并将观测视为集合:
intersect(x, y)
只返回同时出现在 x 和 y 中的观测。
union(x, y)
返回 x 和 y 中唯一的观测。
setdiff(x, y)
返回在 x 中但不在 y 中的观测。