概要
tidyr
パッケージに含まれるpivot_wider_spec(), build_wider_spec()
は、pivot_wider()
のより低レベルなインターフェイスを提供します。基本的な使い方は解説しないため、基本的な使い方を知りたい方はpivot_wider()
を参照してください。
関連ページ
関数
# 仕様書に従ってpivot_wider()を実施する
pivot_wider_spec(
data,
spec,
names_repair = "check_unique",
id_cols = NULL,
values_fill = NULL,
values_fn = NULL
)
# 仕様書の作成
build_wider_spec(
data,
names_from = name,
values_from = value,
names_prefix = "",
names_sep = "_"
)
引数 | 指定 | 説明 |
---|---|---|
data | 必須 | データフレーム |
spec | 必須 | 変換する条件を記した仕様書 |
pivot_wider()
を参照してください使い方
解説用データフレーム
tbl <- tibble (
id = c(1, 1, 2, 2, 3),
name = c('x1', 'x2', 'x1', 'x2', 'x1'),
value = c('A', 'a', 'B', 'b', 'C'),
)
> tbl
# A tibble: 5 x 3
id name value
<dbl> <chr> <chr>
1 1 x1 A
2 1 x2 a
3 2 x1 B
4 3 x2 b
5 3 x1 C
1.基本的な使い方
# specオブジェクトを作成
spec <- build_wider_spec(tbl, names_from = name, values_from = value)
# 非整然化を行う
pivot_wider_spec(tbl, spec)
> spec
# A tibble: 2 x 3
.name .value name
<chr> <chr> <chr>
1 x1 value x1
2 x2 value x2
# A tibble: 3 x 3
id x1 x2
<dbl> <chr> <chr>
1 1 A a
2 2 B b
3 3 C NA
2.仕様書の中身
処理の内容を記した仕様書(spec)
をpivot_wider_spec()
に渡すことで動作します。仕様書の中身と対応する引数を以下に示します。
余談ですが、仕様書の構成はpivot_longer_spec()
と同じです。