您好,我是 R 的 GIS 新手,一直在尝试创建等值线图。我成功地使用 ggplot2 和 fortify 函数创建了一个等值线图,但是使用 ggplot2 在地图顶部添加更多图层并不容易。相反,我使用 maptools 绘制等值线图,然后根据需要添加更多图层以进行分析。我试图绘制的等值线图是人口普查区阿勒格尼县的失业率水平。文件可在此处获得:shapefile
https://www.dropbox.com/s/uci5g2ekeq9niww/census%20tract%20allegheyny%202010.shp
csv 文件
https://www.dropbox.com/s/6nq8nnxftot8iya/allegheyny%20socioeconomic% 20info.csv
这是我的代码
library(rgdal)
library(RArcInfo)
library(RColorBrewer)
library(maptools)
library(maps)
library(classInt)
我们加载 csv 文件,清理它并使用 Id2 和失业创建一个子集
data<- read.csv('allegheyny socioeconomic info.csv',dec='.',
header=T)
data$Id2<-as.numeric(as.character(data$Id2))
data$Percent.Unemployed<-as.numeric(as.character(data$Percent.Unemployed))
names(data)[names(data)=="Percent.Unemployed"]<-'unemployed'
data1<-subset(data, select= c('Id2', 'unemployed'))
加载 2010 年阿勒格尼县人口普查区的 shapefile
tracts<-readShapePoly("census tract allegheyny 2010.shp")
names(tracts)[names(tracts)=="GEOID10"]<-'Id2'
按 Id2 合并数据
tr1<-merge(data1,tracts)
sort(tr1$Id2)
colours<-brewer.pal(5, 'Greens')
breaks<- classIntervals(tr1$unemployed, n=5, style='sd')
plot(tr1, col=colours[findInterval(tr1$unemployed, breaks, all.inside=T), axes=F])
这是我得到的信息:
Error in x[-1L] >= x[-n] : comparison of these types is not implemented