Dplyr を使用して複数の列の名前を変更する方法


R のdplyrパッケージの次の関数を使用して、データ フレーム内の複数の列の名前を変更できます。

方法 1: rename() を使用する

 df %>% rename(new1 = old1, new2 = old2)

方法 2: rename_with() を使用する

 new <- c(' new1 ', ' new2 ')
old <- c(' old1 ', ' old2 ')

df %>% rename_with(~ new, all_of(old))

どちらの方法でも同じ結果が得られます。

次の例は、R の次のデータ フレームでこれらの各メソッドを実際に使用する方法を示しています。

 #create data frame
df <- data. frame (team=c('A', 'B', 'C', 'D', 'E'),
                 dots=c(22, 34, 30, 12, 18),
                 assists=c(7, 9, 9, 12, 14))

#view data frame
df

  team points assists
1 to 22 7
2 B 34 9
3 C 30 9
4 D 12 12
5 E 18 14

例 1: rename() を使用して複数の列の名前を変更する

次のコードは、 rename()関数を使用して、データ フレーム内のチーム列ポイント列の名前を変更する方法を示しています。

 library (dplyr)

#rename team and points columns
df2 <- df %>% rename(team_new = team, points_new = points)

#view updated data frame
df2

  team_new points_new assists
1 to 22 7
2 B 34 9
3 C 30 9
4 D 12 12
5 E 18 14

チームポイントの列の名前が変更されましたが、アシストの列は同じままでした。

例 2: rename_with() を使用して複数の列の名前を変更する

次のコードは、 rename_with()関数を使用して、データ フレーム内のチーム列ポイント列の名前を変更する方法を示しています。

 library (dplyr)

#define new names
new <- c(' team_new ', ' points_new ')

#define old names to replace
old <- c(' team ', ' points ')

#rename old names with new names
df2 <- df %>% rename_with(~ new, all_of(old))

#view updated data frame
df2

  team_new points_new assists
1 to 22 7
2 B 34 9
3 C 30 9
4 D 12 12
5 E 18 14

チームポイントの列の名前が変更されましたが、アシストの列は同じままでした。

置換する列名の長いリストがある場合は、この方法の方が簡単に使用できる場合があることに注意してください。

追加リソース

次のチュートリアルでは、dplyr を使用して他の一般的なタスクを実行する方法について説明します。

dplyr を使用して名前で列を選択する方法
dplyrを使用してインデックスによって列を選択する方法
dplyr で複数の条件で select_if を使用する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です