R语言 如何创建新列?例如,如果工资我想将它们分类为< $4000,$4000到$6000,>$6000

h5qlskok  于 2023-09-27  发布在  其他
关注(0)|答案(1)|浏览(68)

如何创建新列?例如,如果我想将工资分类为<$4000,$4000到$6000,>$6000,我有一个由各种数据组成的dataframe,包括人们的工资,我想创建一个新的列,将他们分类为上面提到的某些工资组。
我只使用tidyverse软件包。
我试着用mutate,但我不确定如何将它们分组

w6mmgewl

w6mmgewl1#

正如@Jon Spring提到的,你需要使用cut(这是R的基础)。你就是为了这个才加专栏的吗?

salary_groups <- c('£0-10', '£11-35', '£36-59', '£60-90')
your_df$new_column <- cut(your_df$salaries, c(1, 11, 36, 60, 91, 151, 251, 351, 751), include.highest=TRUE)

根据评论编辑

将来,如果您包含足够的数据来实现最小可重复性示例,则在此网站上回答问题会容易得多。
现在,这对你的目的更好吗?我假设你列出现有工资的列的标题是salaries

your_df %>%
  mutate(new_column = case_when(salaries > 6000 ~ '>$6000',
                             salaries > 4000 ~ '$4000-$6000',
                             TRUE ~ '<$4000' ))

Here's the page on dplyr's case_when()
希望这对你有帮助!

相关问题