• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

拓端tecdat|R语言ggmap空间可视化机动车交通事故地图

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

原文链接: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)

 

 

 

接下来,我按行政区域绘制了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

 

 

 

 

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
R语言与java整合发布时间:2022-07-18
下一篇:
拓端tecdat|R语言马尔可夫转换模型研究交通伤亡人数事故预测发布时间:2022-07-18
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap