R で文字を因数に変換する方法 (例付き)
次の構文を使用して、R で文字ベクトルを因子ベクトルに変換できます。
factor_vector <- as. factor (character_vector)
このチュートリアルでは、この関数の実際の使用例をいくつか紹介します。
例 1: 文字ベクトルを因子に変換する
次のコードは、文字ベクトルを因子ベクトルに変換する方法を示しています。
#create character vector
character_vector <- c('First', 'Second', 'Third')
#convert character vector to factor vector
factor_vector <- as. factor (character_vector)
#view factor vector
factor_vector
[1] First Second Third
Levels: First Second Third
#confirm class of factor vector
class(factor_vector)
[1] “factor”
例 2: 文字列を因子に変換する
次のコードは、文字データ フレーム内の特定の列を因子に変換する方法を示しています。
#create data frame
df <- data. frame (a = c('12', '14', '19', '22', '26'),
b = c(28, 34, 35, 36, 40))
#convert column 'a' from character to factor
df$a <- as. factor (df$a)
#view new data frame
df
ab
1 First 28
2 Seconds 34
3 Third 40
#confirm class of factor vector
class(df$a)
[1] “factor”
例 3: 複数の列を文字から因子に変換する
次のコードは、文字データ フレーム内のすべての文字列を係数に変換する方法を示しています。
#create data frame
df <- data. frame (a = c('12', '14', '19', '22', '26'),
b = c('28', '34', '35', '36', '40'),
c = as. factor (c(1, 2, 3, 4, 5)),
d = c(45, 56, 54, 57, 59))
#display classes of each column
sapply(df, class)
abcd
"character" "character" "factor" "numeric"
#convert all character columns to factor
df <- as. data . frame (unclass(df), stringsAsFactors = TRUE )
#display classes of each column
sapply(df, class)
abcd "factor" "factor" "factor" "numeric"
このコードは、データ フレーム列に次の変更を加えました。
- コラムa:登場人物から郵便配達員まで
- 列 b:文字から因子まで
- 列 c:変更なし (すでに要素であったため)
- d列:変更なし(数値のため)
apply()関数とsapply()関数を使用すると、文字列のみを因子列に変換し、他のすべての列を変更せずに残すことができました。