補完関数(列の組み合わせ)

概要

tidyrパッケージに含まれるcrossing(), nesting()は、補完に必要な列の組み合わせを指定する関数です。主にcomplete()と併せて使用します。

関連ページ

関数

crossing(...)
nesting(...)
引数指定説明
...必須組み合わせを行う列を指定する

使い方

解説用データフレーム

df <- tibble(
  x1 = c('A', 'B', 'C'),
  x2 = c(1, 2, 3),
)
> df
# A tibble: 3 x 2
  x1       x2
  <chr> <dbl>
1 A         1
2 B         2
3 C         3

1.crossing

指定した列の全ての組み合わせを取得したい場合はcrossing()を指定します。crossing()はデフォルトの挙動と一致します。

# 列x1, x2の全ての組み合わせ補完する
complete(df, crossing(x1, x2))

# 等価関数
complete(df, x1, x2)
# A tibble: 9 x 2
  x1       x2
  <chr> <dbl>
1 A         1
2 A         2
3 A         3
4 B         1
5 B         2
6 B         3
7 C         1
8 C         2
9 C         3

2.nesting

指定した列の組み合わせで補完したい場合はnesting()を指定します。

# 列x1, x2の組み合わせで補完する
complete(df, nesting(x1, x2))
# A tibble: 3 x 2
  x1       x2
  <chr> <dbl>
1 A         1
2 B         2
3 C         3
Sponsored Link