使用ggplot2绘制人口普查数据 - Haphazard poly构造(现在带有Map!)

时间:2013-04-15 19:34:23

标签: r map ggplot2 polygon census

首先,我为标题道歉,但我不完全确定如何描述我的地图发生了什么(因此包含图像)。我不熟悉使用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

What is going on here??

是的,人口普查数据的可视化已经过了好几天。如果我不允许显示地图,它看起来像是偶然的各种各样的锯齿状线条(与人们多次折叠纸张并在展开之前随机切割出碎片的情况不同)。尽管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      

1 个答案:

答案 0 :(得分:1)

这只是一个错字。将group-group更改为group=group,您应该没问题。