原文链接:http://tecdat.cn/?p=12350
在本文中,我使用ggmap可视化纽约市的交通事故。
数据来自纽约市开放数据。我的数据范围是2012年至2015年。该数据跟踪车辆的类型,发生事故的街道的名称以及事故的经度和纬度坐标。两个坐标都保存为单个字符变量,称为“ LOCATION”。
在下面,我加载数据,删除所有没有位置坐标的事故,并解析LOCATION变量以获取经度和纬度坐标。我还解析日期变量以创建年份变量,并使用该变量创建两个数据集:一个数据集包含2013年的所有车辆事故,另一个数据集包含2014年的所有车辆事故。
接下来,我使用get_map()查询Google Maps并获取纽约市的地图。我使用stat_density2d()向该地图添加了一个二维密度层。我对2013年和2014年的数据都执行此操作,并使用gridExtra的grid.arrange()并排放置地图。
接下来,我按行政区域绘制了2013年的事故密度。我编写了一个函数boro(),该函数会删除所有缺少街道名称的观测值,并基于自治市镇(2013)子集。我将它们堆叠在一起,同时添加自治市镇名称,然后在向量col_vals中为每个自治市镇分配一种颜色。我使用stat_density2d的group参数以不同的颜色分别绘制每个自治市镇的密度层。