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