原文链接:http://tecdat.cn/?p=12350
最近我们被客户要求撰写关于空间可视化的研究报告,包括一些图形和统计输出。
在本文中,我使用ggmap可视化纽约市的交通事故
数据来自纽约市开放数据。我的数据范围是2012年至2015年。该数据跟踪车辆的类型,发生事故的街道的名称以及事故的经度和纬度坐标。两个坐标都保存为单个字符变量,称为“ LOCATION”。
在下面,我加载数据,删除所有没有位置坐标的事故,并解析LOCATION变量以获取经度和纬度坐标。我还解析日期变量以创建年份变量,并使用该变量创建两个数据集:一个数据集包含2013年的所有车辆事故,另一个数据集包含2014年的所有车辆事故。
d_clean=d[which(regexpr(',',d$LOCATION)!=-1),]
comm=regexpr(',',d_clean$LOCATION)
d_clean$loc=as.character(d_clean$LOCATION)
d_clean$lat=as.numeric(substr(d_clean$loc,2,comm-1))
d_clean$long=as.numeric(substr(d_clean$loc,comm+1,nchar(d_clean$loc)-1))
d_clean$year=substr(d_clean$DATE,7,10)
d_2013=d_clean[which(d_clean$year=='2013'),c('long','lat')]
d_2014=d_clean[which(d_clean$year=='2014'),c('long','lat')]
接下来,我使用get_map()查询Google Maps并获取纽约市的地图。我使用stat_density2d()向该地图添加了一个二维密度层。我对2013年和2014年的数据都执行此操作,并使用gridExtra的grid.arrange()并排放置地图。
ny_plot=ggmap(get_map('New York, New York',zoom=12, maptype='terrain'))
grid.arrange(plot1, plot2,nrow=1,ncol=2)
点击标题查阅往期内容
左右滑动查看更多
01
02
03
04
接下来,我按行政区域绘制了2013年的事故密度。我编写了一个函数boro(),该函数会删除所有缺少街道名称的观测值,并基于自治市镇(2013)子集。我将它们堆叠在一起,同时添加自治市镇名称,然后在向量col_vals中为每个自治市镇分配一种颜色。我使用stat_density2d的group参数以不同的颜色分别绘制每个自治市镇的密度层。
plot4=ny_plot+
stat_density2d(data=full, geom='polygon',bins = 10, aes(x=full$long,y=full$lat,fill = Borough, alpha=..level..))+
scale_fill_manual(values=col_vals)+
#guides(fill = guide_colorbar(barwidth = 1, barheight = 12)) +
scale_alpha(guide = FALSE)+
xlab(' ')+ylab(' ')+
ggtitle('NYC Vehicle Accident Density by Borough, 2013')
plot4
点击文末 “阅读原文”
获取全文完整代码数据资料。
本文选自《R语言ggmap空间可视化机动车交通事故地图》。
点击标题查阅往期内容
【视频】关联规则模型、Apriori算法及R语言挖掘商店交易数据与交互可视化|数据分享
R语言空气污染数据的地理空间可视化和分析:颗粒物2.5(PM2.5)和空气质量指数(AQI)
上海无印良品地理空间分布特征与选址策略可视化研究
R语言空间可视化:绘制英国脱欧投票地图
R语言在地图上绘制散点饼图可视化 r语言空间可视化绘制道路交通安全事故地图
在GIS中用ggmap地理空间数据分析
tableau的骑行路线地理数据可视化
R语言推特twitter转发可视化分析
618电商大数据分析可视化报告
用RSHINY DASHBOARD可视化美国投票记录
python主题LDA建模和t-SNE可视化
R语言高维数据的主成分pca、 t-SNE算法降维与可视化分析案例报告
R语言动态图可视化:如何、创建具有精美动画的图
Tableau 数据可视化:探索性图形分析新生儿死亡率数据
R语言动态可视化:制作历史全球平均温度的累积动态折线图动画gif视频图