概要
tidyr
パッケージに含まれるunite()
は、指定した列の値を結合する関数です。
関連ページ
関数
unite(data, col, ..., sep = "_", remove = TRUE, na.rm = FALSE)
引数 | 指定 | 説明 |
---|---|---|
data | 必須 | データフレーム |
col | 必須 | 結合後の値を格納する列名を指定する |
… | 必須 | 結合したい値を持つ列名を指定する セレクトヘルパー関数で指定することも可能です |
sep | 任意 | 結合に使用する接続文字を指定する |
remove | 任意 | 結合前の値を削除したくない場合は FALSE を指定する |
na.rm | 任意 | 欠損値を結合の対象にしたくない場合は TRUE を指定する |
使い方
解説用データフレーム
df <- tibble(
x1 = c('A', 'B', NA),
x2 = c(1, 2, 3),
)
> df
# A tibble: 3 x 2
x1 x2
<chr> <dbl>
1 A 1
2 B 2
3 NA 3
1.値の結合
1-1.基本的な使い方
# 列y1に列x1, x2を結合した値を格納する
unite(df, col = y1, x1, x2)
# A tibble: 3 x 1
y1
<chr>
1 A_1
2 B_2
3 NA_3
1-2.接続詞を変更する
# 列y1に列x1, x2を '-' で結合した値を格納する
unite(df, col = y1, x1, x2, sep = '-')
# A tibble: 3 x 1
y1
<chr>
1 A-1
2 B-2
3 NA-3
1-3.欠損値を結合の対象外にする
# 列y1に欠損値を除外した列x1, x2を結合した値を格納する
unite(df, col = y1, x1, x2, na.rm = TRUE)
# A tibble: 3 x 1
y1
<chr>
1 A_1
2 B_2
3 3
2.オプション
2-1.結合前の値を保持する
# 列y1に列x1, x2を結合した値を格納し、結合前の列を保持する
unite(df, col = y1, x1, x2, remove = FALSE)
# A tibble: 3 x 3
y1 x1 x2
<chr> <chr> <dbl>
1 A_1 A 1
2 A_2 B 2
3 NA_3 NA 3