概要
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