如何创建新列?例如,如果我想将工资分类为<$4000,$4000到$6000,>$6000,我有一个由各种数据组成的dataframe,包括人们的工资,我想创建一个新的列,将他们分类为上面提到的某些工资组。我只使用tidyverse软件包。我试着用mutate,但我不确定如何将它们分组
w6mmgewl1#
正如@Jon Spring提到的,你需要使用cut(这是R的基础)。你就是为了这个才加专栏的吗?
cut
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:
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()。希望这对你有帮助!
case_when()
1条答案
按热度按时间w6mmgewl1#
正如@Jon Spring提到的,你需要使用
cut
(这是R的基础)。你就是为了这个才加专栏的吗?根据评论编辑
将来,如果您包含足够的数据来实现最小可重复性示例,则在此网站上回答问题会容易得多。
现在,这对你的目的更好吗?我假设你列出现有工资的列的标题是
salaries
:Here's the page on dplyr's
case_when()
。希望这对你有帮助!