R语言ggplot绘制分组图时如何去除NA值显示
解决方案
你图中出现NA分组是因为harassment_fct因子变量中存在NA值,ggplot默认会将NA识别为单独的分组进行绘制,可以通过以下两种方法去掉NA相关的展示:
- 方法1:绘图前过滤掉
harassment_fct为NA的全部观测,该方法会同时删掉对应NA的散点和汇总线
修改后代码如下:
lusl %>% filter(!is.na(harassment_fct)) %>% ggplot(aes(wave, generalhealth)) + geom_point(alpha = .005) + stat_summary(aes(color = harassment_fct, group = harassment_fct), fun.y = mean, geom = "line", lwd = 1.5) + labs(x = "Wave", y = "GHQ-12 Value", color = "Experience of Racial Harassment")
- 方法2:仅在颜色标度中关闭NA的展示,不改动原始数据,该方法会保留
harassment_fct为NA的散点,仅隐藏NA的分组线和对应图例项
修改后代码如下:
lusl %>% ggplot(aes(wave, generalhealth)) + geom_point(alpha = .005) + stat_summary(aes(color = harassment_fct, group = harassment_fct), fun.y = mean, geom = "line", lwd = 1.5) + scale_color_discrete(na.translate = FALSE) + labs(x = "Wave", y = "GHQ-12 Value", color = "Experience of Racial Harassment")
你可以根据自己的分析需求选择对应的处理方式。
内容的提问来源于stack exchange,提问作者Nora17.06
相关产品推荐
相关产品推荐

