如何在RStudio中用dplyr分组函数统计符合条件的邮政编码数量
你现有代码的问题出在count()函数的用法上,你写的Median=">10"只是将统计结果的列名设置为了">10",并没有实现「筛选Median不低于10」的逻辑,以下是两种常用的正确实现方案:
方案1:先筛选再统计(仅返回有符合条件邮编的地方当局)
如果你不需要展示没有符合条件邮编的LA(也就是符合条件数量为0的LA不显示),可以先过滤符合要求的行,再按LA分组统计数量:
library(dplyr) Broadband %>% filter(Median >= 10) %>% group_by(LA) %>% summarise(qualified_postcode_count = n(), .groups = "drop") %>% View()
方案2:全量LA统计(保留数量为0的地方当局)
如果你需要把所有LA都列出来,没有符合条件邮编的LA统计值显示为0,可以直接在分组后通过逻辑值求和计算符合条件的行数:
library(dplyr) Broadband %>% group_by(LA) %>% summarise(qualified_postcode_count = sum(Median >= 10, na.rm = TRUE), .groups = "drop") %>% View()
这里的na.rm = TRUE是为了避免Median列存在缺失值时,统计结果返回NA,如果你确定数据集没有缺失可以去掉这个参数。
内容的提问来源于stack exchange,提问作者Josh
相关产品推荐
相关产品推荐

