R 将少于总数x%的属性重新分类为';其他';
好的,我有数据如下:R 将少于总数x%的属性重新分类为';其他';,r,filter,dplyr,R,Filter,Dplyr,好的,我有数据如下: ID Name Job 001 Bill Carpenter 002 Wilma Lawyer 003 Greyson Lawyer 004 Eddie Janitor 我想将这些工作组合在一起进行分析,以便将所有少于x的工作组合到“其他”中 我如何做到这一点,以下是我尝试的: df %>% group_by(Job) %>% summarize(count = n()) %>% mutate(pct
ID Name Job
001 Bill Carpenter
002 Wilma Lawyer
003 Greyson Lawyer
004 Eddie Janitor
我想将这些工作组合在一起进行分析,以便将所有少于x的工作组合到“其他”中
我如何做到这一点,以下是我尝试的:
df %>%
group_by(Job) %>%
summarize(count = n()) %>%
mutate(pct = count/sum(count)) %>%
arrange(desc(count)) %>%
drop_na()
现在我知道了百分比是多少,但我如何将其整合到原始数据中,使X下面的所有内容都成为“其他”。(假设小于或等于25%为其他)
也许有一种更直接的方法……您可以尝试以下方法:
library(dplyr)
df %>%
count(Job) %>%
mutate(n = n/sum(n)) %>%
left_join(df, by = 'Job') %>%
mutate(Job = replace(Job, n <= 0.25, 'Other'))
库(dplyr)
df%>%
计数(作业)%>%
变异(n=n/和(n))%>%
左join(df,by='Job')%>%
变异(作业=替换(作业,n