英文:
dplyr change group names within a column
问题
如何使用 dplyr
在列内更改分组名称?
示例数据:
library(dplyr)
# 鸢尾花数据集
dat <- iris
# 唯一的分组名称
unique(dat$Species)
# 尝试更改Species列内的分组名称(例如,setosa = Group 1)
dat <- dat %>%
mutate_at(Species, c('setosa' = 'Group 1',
'versicolor' = 'Group 2',
'virginica' = 'Group 3')) # 报错信息:Error in check_dot_cols(.vars, .cols) : object 'Species' not found
有很多关于如何使用 dplyr
更改列名的示例,但我很难找到如何在列内更改分组名称的示例。
英文:
How can I use dplyr
to change group names within a column?
Example Data:
library(dplyr)
# Iris dataset
dat <- iris
# Unqiue group names
unique(dat$Species)
# Attemp to change group names within the Species column (e.g., setosa = Group 1)
dat <- dat %>%
mutate_at(Species, c('setosa' = 'Group 1',
'versicolor' = 'Group 2',
'virginica' = 'Group 3')) # throws error message: Error in check_dot_cols(.vars, .cols) : object 'Species' not found
There are plenty of examples on SO and google on how to change a column name using dplyr
but I could not easily find an example of how to change group names within a column.
答案1
得分: 0
使用@JonSpring的答案
dat <- dat %>%
mutate(Species = case_match(Species,
"setosa" ~ "Group 1",
'versicolor' ~ 'Group 2',
'virginica' ~ 'Group 3'))
英文:
Using @JonSpring answer
dat <- dat %>%
mutate(Species = case_match(Species,
"setosa" ~ "Group 1",
'versicolor' ~ 'Group 2',
'virginica' ~ 'Group 3'))
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论