如何在 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()函数,我们能够仅将字符列转换为因子列,并保持所有其他列不变。