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() 関数の完全なドキュメントはここで見つけることができます。