目次
rename()の概要
rename()は、列名を変更するための関数です。rename()は、個々の変数の名前をnew_name = old_name構文を使用して変更します。
rename()の使い方
dplyr::rename()の使い方は次になります。
rename(.data, ...)
mutate()の引数の意味
データフレームまたはデータフレーム拡張(例:tibble)、遅延データフレーム(例:dbplyrまたはdtplyrから)を指定します。
tidy-selectを指定できます。new_name = old_nameを使用して、選択した変数の名前を変更します。
rename_with()の概要
rename_with()は、列名を変更するための関数です。rename_with()は、関数を使用して列の名前を変更します。
rename_with()の使い方
dplyr::rename_with()の使い方は次になります。
rename_with(.data, .fn, .cols = everything(), ...)
rename_with()の引数の意味
データフレームまたはデータフレーム拡張(例:tibble)、遅延データフレーム(例:dbplyrまたはdtplyrから)を指定します。
選択した.colsを変換するために使用される関数を指定します。
入力と同じ長さの文字ベクトルを返す必要があります。
tidy-selectを指定できます。名前を変更する列を指定します。デフォルトはすべての列です。
.fn に渡される追加の引数を指定します。
準備
あらかじめ、tidyverseパッケージを読み込んでおきます。
library(tidyverse)
解説のために、次のirisデータセットを使用します。
iris |>
  head()
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa
列名を変更
irisデータセットで、列名Sepal.Lengthを列名Aに変更するには次のようにします。
iris |>
  rename(A = Sepal.Length) |>
  head()
    A Sepal.Width Petal.Length Petal.Width Species
1 5.1         3.5          1.4         0.2  setosa
2 4.9         3.0          1.4         0.2  setosa
3 4.7         3.2          1.3         0.2  setosa
4 4.6         3.1          1.5         0.2  setosa
5 5.0         3.6          1.4         0.2  setosa
6 5.4         3.9          1.7         0.4  setosa
すべての列名を大文字に変更
irisデータセットで、すべての列名を大文字に変更するには次のようにします。
iris |>
  rename_with(~ toupper(.)) |>
  head()
  SEPAL.LENGTH SEPAL.WIDTH PETAL.LENGTH PETAL.WIDTH SPECIES
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa
列名に接頭辞(プリフィックス)を付加
irisデータセットで、列名Sepal.Lengthと列名Sepal.Widthに接頭辞「A_」を付加するには次のようにします。
iris |>
  rename_with(~ paste("A", ., sep = "_"), starts_with("Sepal")) |>
  head()
  A_Sepal.Length A_Sepal.Width Petal.Length Petal.Width Species
1            5.1           3.5          1.4         0.2  setosa
2            4.9           3.0          1.4         0.2  setosa
3            4.7           3.2          1.3         0.2  setosa
4            4.6           3.1          1.5         0.2  setosa
5            5.0           3.6          1.4         0.2  setosa
6            5.4           3.9          1.7         0.4  setosa
列名に連番の接尾辞(サフィックス)を付加
irisデータセットで、列名Sepal.Lengthと列名Sepal.Widthに連番の接尾辞「_**」を付加するには次のようにします。
iris |>
  rename_with(~ sprintf("%s_%02d", ., seq(length(.))), starts_with("Sepal")) |>
  head()
  Sepal.Length_01 Sepal.Width_02 Petal.Length Petal.Width Species
1             5.1            3.5          1.4         0.2  setosa
2             4.9            3.0          1.4         0.2  setosa
3             4.7            3.2          1.3         0.2  setosa
4             4.6            3.1          1.5         0.2  setosa
5             5.0            3.6          1.4         0.2  setosa
6             5.4            3.9          1.7         0.4  setosa