如何在R语言数据框中筛选指定Casualty_Type值并分组统计?
解决方案
步骤1:筛选目标数据
在你的代码中加入filter()函数,保留Casualty_Type为1、2、9的记录,建议先筛选再计数(效率更高):
casualty <- Full %>% filter(Casualty_Type %in% c(1, 2, 9)) %>% count(Casualty_Type, Year) %>% group_by(Year)
%in%运算符用于匹配向量中的多个取值,精准筛选出你需要的Casualty_Type类别。- 先筛选再计数可以减少后续处理的数据量,提升运行效率。
步骤2:绘制堆叠柱状图
如果要基于筛选后的数据生成堆叠柱状图,使用ggplot2包的示例代码如下:
library(ggplot2) ggplot(casualty, aes(x = Year, y = n, fill = factor(Casualty_Type))) + geom_col(position = "stack") + labs( title = "每年伤亡类型1/2/9的数量统计", x = "年份", y = "出现次数", fill = "伤亡类型" ) + scale_fill_discrete(labels = c("类型1", "类型2", "类型9")) # 自定义图例标签
geom_col(position = "stack")指定绘制堆叠柱状图;- 将
Casualty_Type转为因子类型,确保图例正确显示类别。
内容的提问来源于stack exchange,提问作者Rastko M.
相关产品推荐
相关产品推荐

