原文链接:http://tecdat.cn/?p=13255
当我们要可视化事故数量时,其想法是根据部门的人员进行标准化。
我们将从恢复底图开始
代码语言:javascript复制library(rgdal)library(sp)library(data.table)library(dplyr)library(plyr)destfile="GEOFLA.tar.gz")untar("GEOFLA.tar.gz")
这些数据包含人口。所以我们要按部门汇总
代码语言:javascript复制dep@data <- inner_join(dep@data, pop)dep@data <- inner_join(dep@data, superficie)dep@data$POPULATION <- dep@data$POPULATION * 1000
然后我们将恢复道路事故数据
代码语言:javascript复制acc_caract$dep[which(acc_caract$dep %in% "201")] <- "2A0"acc_caract$dep[which(acc_caract$dep %in% "202")] <- "2B0"acc_caract$dep <- substr(acc_caract$dep, 1, 2)
现在,我们可以按年份、按部门(或按时间汇总)进行计数
代码语言:javascript复制data_plot <- c("2010_2015" = dep_with_nb_acc(acc_caract, dep,nb_an = 6),"2010_2015_n" = dep_with_nb_acc(acc_caract, dep,nb_an = 6,normalize=TRUE))
第一个是超过6年的事故数量,已按人群归一化(可以将其视为人身伤害的频率)
代码语言:javascript复制zmax = max(data_plot[[1]]@data$freq_par_hab)spplot(obj = data_plot$'2010_2015',"freq_par_hab",at = seq(0, zmax, by = zmax/10),main = "")
我们也可以按频率进行标准化,以找出最危险的部门。我们还采用了对数。
代码语言:javascript复制zmin = min(data_plot[[8]]@data$freq_par_hab)zmax = max(data_plot[[8]]@data$freq_par_hab)spplot(obj = data_plot$'2010_2015_n',"freq_par_hab",at = seq(zmin, zmax, by = (zmax-zmin)/10),main = "")