Dplyr:如何使用 mutate() 更改因子级别
您可以在dplyr中使用以下基本语法,通过mutate()函数更改因子变量的级别:
library (dplyr) df <- df %>% mutate(team=recode(team, ' H ' = ' Hawks ', ' M ' = ' Mavs ', ' C ' = ' Cavs '))
此特定语法对数据框中的team变量进行以下更改:
- “H”变成“鹰”
- “M”变成“小牛”
- “C”变成“骑士队”
以下示例展示了如何在实践中使用此语法。
示例:使用 mutate() 更改因子级别
假设我们在 R 中有以下数据框,其中包含有关各种篮球运动员的信息:
#create data frame df <- data. frame (team=factor(c('H', 'H', 'M', 'M', 'C', 'C')), dots=c(22, 35, 19, 15, 29, 23)) #view data frame df team points 1:22 a.m. 2:35 a.m. 3 M 19 4 M 15 5 C 29 6 C 23
我们可以使用以下语法和dplyr包的mutate()函数来更改team变量的级别:
library (dplyr) #change factor levels of team variable df <- df %>% mutate(team=recode(team, ' H ' = ' Hawks ', ' M ' = ' Mavs ', ' C ' = ' Cavs ')) #view updated data frame df team points 1 Hawks 22 2 Hawks 35 3 Mavs 19 4 Mavs 15 5 Cavs 29 6 Cavs 23
使用此语法,我们能够对数据框中的team变量进行以下更改:
- “H”变成“鹰”
- “M”变成“小牛”
- “C”变成“骑士队”
我们可以使用levels ()函数验证因子水平是否已经改变:
#display factor levels of team variable
levels(df$team)
[1] “Cavs” “Hawks” “Mavs”
另请注意,您可以选择仅更改一个因素水平,而不是全部。
例如,我们可以使用以下语法仅将“H”替换为“Hawks”,并保持其他因子级别不变:
library (dplyr) #change one factor level of team variable df <- df %>% mutate(team=recode(team, ' H ' = ' Hawks ')) #view updated data frame df team points 1 Hawks 22 2 Hawks 35 3 M 19 4 M 15 5 C 29 6 C 23
请注意,“H”被“Hawks”取代,但其他两个因子水平保持不变。
其他资源
以下教程解释了如何在 dplyr 中执行其他常见任务: