首先,我为标题道歉,但我不完全确定如何描述我的地图发生了什么(因此包含图像)。我不熟悉使用ggplot2进行映射,对于我的第一个“教程外”地图,我试图在DC中显示人口普查数据。搜索教程似乎支持我已经采取的程序,但显然我正在偏离正轨(我还没有看到另一个这样的实例)。
我们的目标是将我准备好的.csv数据与包含Census tract多边形的shapefile合并。最初,我认为它与行的排序有关,但明确说明这似乎没有改变任何东西。
代码:
###Combining Census data with a tract poly shapefile
library(maptools)
library(ggplot2)
library(gpclib)
setwd('~/ESRI/Trend Report Maps')
#Read data
tract<-readShapePoly('TractPly.shp')
cdata<-read.csv('census00_10.csv')
#Columns >> note that GEOID (tract) and geoid2 (cdata) are the merge keys
ntract<-names(tract)
ncdata<-names(cdata)
#Prepare data for ggplot plotting of poly info (by conversion to DataFrame)
gpclibPermit()
tract_geom<-fortify(tract,region="GEOID")
#Note that this drops attribute and retains only spatial info. However, we don't really
#need the attribute info since we are joining it to the other dataframe
#Merge
tract_poly<-merge(tract_geom,cdata,by.x="id",by.y="geoid2")
tract_poly<-tract_poly[order(tract_poly$order),]
head(tract_poly)
workF<-ggplot(tract_poly,aes(long,lat,group-group,fill=dmed_age)) +
geom_polygon() +
coord_equal() #fixes aspect ratio
workF
是的,人口普查数据的可视化已经过了好几天。如果我不允许显示地图,它看起来像是偶然的各种各样的锯齿状线条(与人们多次折叠纸张并在展开之前随机切割出碎片的情况不同)。尽管DC的外部边界保持不变,但所得到的形状都不像人口普查区域。我可以确认shapefile是从ArcMap导出的(它看起来应该是这样)。
会话信息:
> sessionInfo()
R version 2.15.3 (2013-03-01)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] grid stats graphics grDevices utils datasets methods base
other attached packages:
[1] gpclib_1.5-1 ggplot2_0.9.3.1 maptools_0.8-23 lattice_0.20-13 sp_1.0-5 foreign_0.8-52
loaded via a namespace (and not attached):
[1] colorspace_1.2-1 dichromat_2.0-0 digest_0.6.3 gtable_0.1.2 labeling_0.1
[6] MASS_7.3-23 munsell_0.4 plyr_1.8 proto_0.3-10 RColorBrewer_1.0-5
[11] reshape2_1.2.2 scales_0.2.3 stringr_0.6.2 tools_2.15.3
答案 0 :(得分:1)
这只是一个错字。将group-group
更改为group=group
,您应该没问题。