R でデータ フレーム列の名前を変更する方法


このチュートリアルでは、さまざまなアプローチを使用して R でデータ フレーム列の名前を変更する方法について説明します。

これらの各例では、R のmtcars組み込みデータセットを使用します。

Base R を使用して最初のn列の名前を変更します

mtcarsには合計 11 個の列名があります

 #view column names of mtcars
names(mtcars)

# [1] "mpg" "cyl" "disp" "hp" "drat" "wt" "qsec" "vs" "am" "gear"
# [11] “carb”

最初の 4 列の名前を変更するには、次の構文を使用できます。

 #rename first 4 columns
names(mtcars) <- c("miles_gallon", "cylinders", "display", "horsepower")
names(mtcars)

#[1] "miles_gallon" "cylinders" "display" "horsepower" NA 
#[6] NA NA NA NA NA 
#[11] NA

R は最初の列の名前から始まり、指定した数だけ列の名前を変更することに注意してください。この例では、列名が 11 個あり、列名は 4 つだけ指定したため、最初の 4 列のみが名前変更されました。 11 列すべての名前を変更するには、11 列名のベクトルを指定する必要があります。

名前の変更  Base R を使用した名前による列

mtcarsデータセット内の特定の列 (「wt」列など) の名前を変更したい場合は、名前で変更できます。

 #rename just the "wt" column in mtcars
names(mtcars)[names(mtcars)=="wt"] <- "weight"
names(mtcars)

#[1] "mpg" "cyl" "disp" "hp" "drat" "weight" "qsec" "vs" 
#[9] "am" "gear" "carb"

「weight」列のみが「weight」に名前変更され、他の列はすべて元の名前が維持されることに注意してください。

名前の変更  Base R を使用したインデックスによる列

mtcarsデータセット内の特定の列の名前をインデックスによって変更することもできます。たとえば、2 番目の列「cyl」の名前をインデックスによって変更する方法は次のとおりです。

 #rename the second column name in mtcars
names(mtcars)[2] <- "cylinders"
names(mtcars)

# [1] "mpg" "cylinders" "disp" "hp" "drat" "wt" 
# [7] "qsec" "vs" "am" "gear" "carb"

「cyl」列のみが「cylinder」に名前変更され、他のすべての列は元の名前が維持されることに注意してください。

名前の変更  dplyrを使用した列

R で列の名前を変更するもう 1 つの方法は、 dplyrパッケージのrename()関数を使用することです。これを行うための基本的な構文は次のとおりです。

 data %>% rename(new_name1 = old_name1, new_name2 = old_name2, ....)

たとえば、 mtcarsデータセットの列名「mpg」と「cyl」の名前を変更する方法は次のとおりです。

 #install (if not already installed) and load dplyr package
if(!require(dplyr)){install.packages('dplyr')}

#rename the "mpg" and "cyl" columns
new_mtcars <- mtcars %>% 
                rename(
                  miles_g = mpg,
                  cylinder = cyl
                  )

#view new column names
names(new_mtcars)

# [1] "miles_g" "cylinder" "disp" "hp" "drat" "wt" 
# [7] "qsec" "vs" "am" "gear" "carb"

この方法を使用すると、必要な数の列の名前を一度に変更できます。

名前の変更  data.tableを使用する列

R で列の名前を変更するもう 1 つの方法は、 data.tableパッケージのsetnames()関数を使用することです。これを行うための基本的な構文は次のとおりです。

 setnames(data, old=c("old_name1","old_name2"), new=c("new_name1", "new_name2"))

たとえば、 mtcarsデータセットの列名「mpg」と「cyl」の名前を変更する方法は次のとおりです。

 #install (if not already installed) and load data.table package
if(!require(data.table)){install.packages('data.table')}

#rename "mpg" and "cyl" column names in mtcars
setnames(mtcars, old=c("mpg","cyl"), new=c("miles_g", "cylinder"))

#view new column names
names(mtcars)

#[1] "miles_g" "cylinder" "disp" "hp" "drat" "wt" 
#[7] "qsec" "vs" "am" "gear" "carb"

この方法を使用すると、必要な数の列の名前を一度に変更できます。

コメントを追加する

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