2017-05-31 159 views

回答

1

这是maps包中的一个bug。它将在即将发布的3.2版中得到修复。正如mweber解释的那样,有一个快速的方法来避免这个错误。你甚至可以缩短到

map.where(map("county",fill=TRUE,plot=FALSE), -94.40780005, 40.49069996) 

的错误可能已行之有年,并且只显示了“县”的数据库,为圣路易斯后跟随的字母顺序密苏里州的国家。

对于技术头脑: 事实上,你可以手动修复安装包(或者更确切地说:从影响各县数据停止错误)通过编辑地图/属于MapData/counties.N 在该文件中,你会看到在行1545-1564附近,行号不对应于多边形数字,因为有人移动了一条线。如果你移回单行,所有事情都会重新开始。 R代码中的实际错误是地图数据库map.where()假定多边形编号等于.N文件中的行号,这几乎总是OK,但在这种情况下失败。

3

我不能准确地说明原因,但如果您先将各县划分到密苏里州并添加填充和绘图参数,则会按照原样返回值。我只是沿着最后一个例子来帮助map.where在地图包

p <- map('county','Missouri',fill = TRUE, plot = FALSE) 
map.where(p, -94.40780005, 40.49069996) 
[1] "missouri, worth"