目次
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