繁体   English   中英

在R中的地图上绘制相关数据

[英]Plotting Related Data on Map in R

不确定是否有人可以帮助您:

我有2个数据框:一个是经纬度坐标列表,构成了纽约77个警区的地图。 另一个是纽约市的犯罪数据列表,其中显示了每个区域每年的谋杀,偷车和袭击次数。

我已经用ggplot在地图上绘制了区域。 我如何在地图上叠加例如每个区域使用颜色的谋杀案数量? IE,红色代表谋杀案最多的地区,绿色代表谋杀案最少。

地图数据框的设置如下:

Lat  |   Long  | Precinct 
-74  |    40.2 |      <2>

犯罪数据框架的设置如下:

  Crime | Year | Value | Precinct
Assault |   03 | 2300  |      <2>

这是我绘制地图的方式:

y <- ggplot(data = MyShapeMapData, aes(x = long, y = lat))
y + geom_polygon(aes(group = group), fill = NA, colour = "black") + coord_fixed(1.3)

任何帮助表示赞赏

您是否需要类似以下内容(显示一些虚拟数据)?

MyShapeMapData <- read.csv(text='lat,   long, Precinct 
-74.01,40.71,<2>
-74.00,40.72,<3>', stringsAsFactors=FALSE)
MyCrimeData <- read.csv(text='Crime, Year, Value, Precinct
Assault, 03, 2300,<2>
Murder,04, 700,<3>', stringsAsFactors=FALSE)

library(ggmap)
mymap <- get_map(location = "New York", zoom=15)

library(dplyr)
df <- inner_join(MyShapeMapData, MyCrimeData, by='Precinct')
df
#     lat  long Precinct   Crime Year Value
#1 -74.01 40.71      <2> Assault    3  2300
#2 -74.00 40.72      <3>  Murder    4   700
ggmap(mymap) + geom_point(data = df, aes(x = lat, y = long, color=Crime, size=Value)) + scale_size(range = c(10,20)) +
  scale_color_manual(values=c('blue', 'red')) #, alpha=0.5) + coord_fixed(1.3)

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM