概要
dplyr
パッケージに含まれるunion(), intersect(), setdiff()
は、行の集合を得る関数です。
関連ページ
関数
union(x, y)
intersect(x, y)
setdiff(x, y)
引数 | 指定 | 説明 |
---|---|---|
x, y | 必須 | データフレーム |
使い方
解説用データフレーム
df.x <- tibble(
x1 = c('A', 'B', 'C'),
x2 = c(1, 2, 3),
)
df.y <- tibble(
x1 = c('C', 'D', 'E'),
x2 = c(3, 4, 5),
)
> df.x
# A tibble: 3 x 2
x1 x2
<chr> <dbl>
1 A 1
2 B 2
3 C 3
> df.y
# A tibble: 3 x 2
x1 x2
<chr> <dbl>
1 C 3
2 D 4
3 E 5
1.集合
1-1.和集合
# df.xとdf.yの和集合を得る
union(df.x, df.y)
# A tibble: 5 x 2
x1 x2
<chr> <dbl>
1 A 1
2 B 2
3 C 3
4 D 4
5 E 5
1-2.積集合
# df.xとdf.yの積集合を得る
intersect(df.x, df.y)
# A tibble: 1 x 2
x1 x2
<chr> <dbl>
1 C 3
1-3.差集合
# df.xとdf.yの差集合を得る
setdiff(df.x, df.y)
# A tibble: 2 x 2
x1 x2
<chr> <dbl>
1 A 1
2 B 2