English · PDF 214
| dplyr | SQL |
|---|---|
| right_join(x, y, by = "z") | SELECT * FROM x RIGHT OUTER JOIN y |
| full_join(x, y, by = "z") | SELECT * FROM x FULL OUTER JOIN y |
注意 "INNER" 和 "OUTER" 是可选的,通常会被省略。
当连接两个表之间不同的变量时,例如 inner_join(x, y, by = c("a" = "b")),SQL 中使用的语法略有不同:SELECT * FROM x INNER JOIN y ON x.a = y.b。正如这种语法所暗示的,SQL 支持比 dplyr 更广泛的连接类型,因为你可以使用相等以外的约束来连接表(有时称为非等值连接)。
过滤连接与变动连接以相同的方式匹配观测,但它影响的是观测,而不是变量。有两种类型:
半连接对于将过滤后的汇总表匹配回原始行非常有用。例如,假设你找到了最受欢迎的前 10 个目的地:
top_dest <- flights %>% count(dest, sort = TRUE) %>% head(10) top_dest #> # A tibble: 10 × 2 #> dest n #>