値の結合

概要

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
Sponsored Link