在R中生成链接微地图的shapefile
我试图复制micromap R包中提供的例子,即美国50个州的贫困率链接图。我正试图用来自德国的Shapefile实现同样的结果。这是我的密码:在R中生成链接微地图的shapefile,r,maps,gis,R,Maps,Gis,我试图复制micromap R包中提供的例子,即美国50个州的贫困率链接图。我正试图用来自德国的Shapefile实现同样的结果。这是我的密码: library(micromap) library(ggplot2) setwd ('C:/Users/Jesus/Dropbox/linked maps/Chapter4') ger<-readShapePoly("germany3.shp") edPov<-read.csv('gerpoverty.csv') statePolys
library(micromap)
library(ggplot2)
setwd ('C:/Users/Jesus/Dropbox/linked maps/Chapter4')
ger<-readShapePoly("germany3.shp")
edPov<-read.csv('gerpoverty.csv')
statePolys <- create_map_table(ger, 'VARNAME_1')
head(statePolys)
lmplot(stat.data=edPov,
map.data=statePolys,
panel.types=c('labels', 'dot','map'),
panel.data=list('Id1','poverty',NA),
ord.by='poverty',
grouping=5, median.row=F,
map.link=c('Id1','VARNAME_1'))
以下是zip文件中文件的链接:
有什么想法或建议吗
谢谢,问题在于,
创建映射表(…)
将您提供的任何内容作为id列(VARNAME\u 1
,在您的示例中),并将其放在输出中名为id
的列中(statePolys
)。现在有一个statePolys$ID
列,其中包含VARNAME_1
中的所有内容。当您告诉lmplot(…)
加入edPov$Id1
和statePolys$VARNAME_1
时,它找不到后一列。另一种说法是,map.link
的第二个元素必须始终是ID
。所以这个代码是有效的(我在这里使用了edPov
和ger
中的ID_1列,因为它似乎包含一个德国国家ID)
库(micromap)
图书馆(GG2)
GerPoverity.csv
中的哪个列包含贫困数据?当我加载此文件时,它似乎包含与shapefile中的attributes表(germany2.dbf
)相同的信息??显然文件有问题,现在应该更正。因此我从上面的链接重新下载了germany.rar
,并将其解压缩。与之前一样,文件gerpovery.csv
具有以下字段:ID\u 0、ISO、NAME\u 0、ID\u 1、NAME\u 1、Id1、NL\u NAME\u 1、HASC\u 1、CC\u 1、TYPE\u 1、ENGTYPE\u 1、VALIDFR\u 1、VALIDTO\u 1、备注\u 1、形状长度、形状区域、x、y
。哪一个是贫困率?这是更新的链接,该列称为贫困。非常感谢,这似乎非常有效。我试图用墨西哥的数据复制另一个例子的这种编码。我基本上已经运行了代码,但是它消耗了大量的资源,所以我想知道是否有更简单的方法来执行它。以下是您感兴趣的链接:
Error in `[.data.frame`(DF, , ord.by) : undefined columns selected
library(micromap)
library(ggplot2)
ger<-readShapePoly("germany3.shp")
edPov<-read.csv('gerpoverty.csv')
statePolys <- create_map_table(ger, 'ID_1') # ID_1 stored in statePolys$ID
head(statePolys)
lmplot(stat.data=edPov,
map.data=statePolys,
panel.types=c('labels', 'dot','map'),
panel.data=list('Id1','poverty',NA),
ord.by='poverty',
grouping=5, median.row=F,
map.link=c('ID_1','ID'))