行の結合(集合)

概要

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
Sponsored Link