You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于'construction'合并行:NYC 311数据dplyr处理求助

NYC 311施工噪音投诉邮编占比计算方案

实现步骤

先给所有descriptor含"construction"的记录打标记,再按邮编分组统计占比,完整代码如下:

library(dplyr)

comp_types <- df %>%
  # 保留需要的字段
  select(complaint_type, descriptor, incident_zip) %>%
  # 标记施工相关投诉:不管大小写,只要descriptor里有construction就算
  mutate(is_construction = grepl("construction", descriptor, ignore.case = TRUE)) %>%
  # 按邮政编码分组
  group_by(incident_zip) %>%
  # 统计总投诉数、施工投诉数,计算占比
  summarize(
    total_complaints = n(),
    construction_complaints = sum(is_construction, na.rm = TRUE),
    construction_ratio = construction_complaints / total_complaints
  ) %>%
  # 过滤掉空的邮编记录
  filter(!is.na(incident_zip))

关键代码解释

  • grepl(...):模糊匹配descriptor里的"construction",忽略大小写避免漏判(比如"Construction""CONSTRUCTION"都能被识别)
  • sum(is_construction, na.rm = TRUE):统计每组里施工投诉的数量,自动跳过缺失值
  • construction_ratio:直接算出占比,要是需要百分比格式,改成construction_ratio = (construction_complaints / total_complaints)*100就行

可选优化

如果只关注噪音类投诉(比如complaint_type是"Noise"相关),可以在select之后加一行筛选:

filter(grepl("Noise", complaint_type, ignore.case = TRUE))

内容的提问来源于stack exchange,提问作者Ellie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 15:30:49