R で因子レベルの名前を変更する方法 (例付き)


R で因子水準の名前を変更するために使用できる方法は 2 つあります。

方法 1: Base R レベル() を使用する

 levels(df$col_name) <- c(' new_name1 ', ' new_name2 ', ' new_name3 ')

方法 2: dplyr パッケージの recode() を使用する

 library (dplyr)

data$col_name <- recode(data$col_name, name1 = ' new_name1 ', 
                                       name2 = ' new_name2 ',
                                       name3 = ' new_name3 ')

次の例は、これらの各メソッドを実際に使用する方法を示しています。

方法 1:levels() 関数を使用する

R に次のデータ フレームがあるとします。

 #create data frame
df <- data. frame (conf = factor(c('North', 'East', 'South', 'West')),
                 points = c(34, 55, 41, 28))

#view data frame
df

   conf points
1 North 34
2 East 55
3 South 41
4 West 28

#view levels of 'conf' variable
levels(df$conf)

[1] “East” “North” “South” “West”

次のコードは、 levels() 関数を使用して因子レベルの名前を名前で変更する方法を示しています。

 #rename just 'North' factor level
levels(df$conf)[levels(df$conf)==' North '] <- ' N '

#view levels of 'conf' variable
levels(df$conf)

[1] “East” “N” “South” “West”

次のコードは、各因子レベルの名前を変更する方法を示しています。

 #rename every factor level
levels(df$conf) <- c(' N ', ' E ', ' S ', ' W ')

#view levels of 'conf' variable
levels(df$conf)

[1] “N” “E” “S” “W”

例 2: recode() 関数の使用

次のコードは、dplyr パッケージのrecode()関数を使用して因子レベルの名前を変更する方法を示しています。

 library (dplyr)

#create data frame
df <- data. frame (conf = factor(c('North', 'East', 'South', 'West')),
                 points = c(34, 55, 41, 28))

#recode factor levels
df$conf <- recode(df$conf, North = ' N ',
                           East = ' E ',
                           South = ' S ',
                           West = ' W ')

levels(df$conf)

[1] “E” “N” “S” “W”

: recode() 関数の完全なドキュメントはここで見つけることができます。

追加リソース

R で因数を数値に変換する方法
Rで因子を文字に変換する方法
R で因子水準を再配置する方法

コメントを追加する

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