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