R语言计算各年龄段兼职就业占比问题求助
解决兼职就业占比计算返回全NA的问题
你的代码主要有两个问题导致结果全NA,修正方法如下:
错误原因与修正
分组列名错误+管道语法误用
你的分组变量实际是age_intervals,但代码里写的是age_inter,而且在group_by()里没必要加数据框前缀data_R_age_inter$——管道%>%已经把数据框传递到下一个函数,直接写列名即可。未处理缺失值
如果parttime列存在NA值,mean()默认会返回NA,必须添加na.rm = TRUE参数忽略缺失值。
修正后的代码
# 计算各年龄段兼职占比 parttime_share <- data_R_age_inter %>% group_by(age_intervals) %>% summarise(parttime_share = mean(parttime, na.rm = TRUE)) View(parttime_share)
额外优化:快速找到占比最高的年龄段
如果想直接按占比降序排列,一眼看到最高的组,可以加一步排序:
parttime_share <- data_R_age_inter %>% group_by(age_intervals) %>% summarise(parttime_share = mean(parttime, na.rm = TRUE)) %>% arrange(desc(parttime_share))
内容的提问来源于stack exchange,提问作者Michael Picazo
相关产品推荐
相关产品推荐

