目的
对于每个ZIP代码,需要计算由于具有构造描述的描述符而引起的噪声投诉的分数,然后报告ZIP的标准偏差。
如何计算噪音投诉的分数,也就是数据内部的"噪音:",并计算ZIP标准差?
问题
如何计算zip上的标准偏差sd(),表示投诉(描述符)列的一小部分
不确定如何获得ZIP和ZIP的标准偏差不在描述符的分数中。我的第一项工作是按zip和描述符进行分组。然后总结n()。不知道如何为这种格式的数据计算sd()。
R代码
nyc_comp_set <- nyc_comp %>%
select(incident_zip, city, descriptor)
nyc_comp_set$city <- factor(nyc_comp_set$city)
nyc_comp_set$descriptor <- factor(nyc_comp_set$descriptor)
nyc_comp_en <- one_hot(as.data.table(nyc_comp_set))
nyc_comp_const <- nyc_comp_set %>%
select(incident_zip, city, descriptor) %>%
filter(str_detect(nyc_comp_set$descriptor, "Construct")) %>%
group_by(incident_zip)
nyc_comp_const_gp <- nyc_comp_const %>%
group_by(incident_zip, descriptor) %>%
summarise (nzip = n()) %>%
mutate(nyc_comp_const_gp$n <- n())
也许按照这个代码组织:
group_by(incident_zip, descriptor) %>%
summarise (n = n())
数据
数据来自"nyc_noise_complaints.csv"。这是一个示例。
incident_zip city descriptor
<dbl> <fct> <fct>
1 11231 BROOKLYN Noise: Construction Before/After Hours (NM1)
2 10454 BRONX Noise: Construction Before/After Hours (NM1)
3 11234 BROOKLYN Noise: Construction Equipment (NC1)
4 11234 BROOKLYN Noise: Construction Equipment (NC1)
5 10462 BRONX Noise: Construction Equipment (NC1)
6 10034 NEW YORK Noise: Construction Before/After Hours (NM1)
7 10023 NEW YORK Noise: Construction Before/After Hours (NM1)
8 11249 BROOKLYN Noise: Construction Before/After Hours (NM1)
9 10001 NEW YORK Noise: Construction Before/After Hours (NM1)
10 10031 NEW YORK Noise: Construction Before/After Hours (NM1)
如果有比例p
,则标准偏差为sqrt(p * (1 - p))
。类似这样的东西:
nyc_comp %>%
group_by(incident_zip, city) %>%
summarize(prop_construction = mean(grepl("Construction", descriptor)), .groups = "drop") %>%
mutate(sd_construction = sqrt(prop_construction * (1 - prop_construction)))