我正在学习本网站
也不懂有些事
con <- url("http://biogeo.ucdavis.edu/data/gadm2/R/CHE_adm1.RData")
print(load(con))输出是
[1] "gadm"代码继续关闭连接。
close(con)然后我执行
language <- c("german", "german", "german","german",
"german","german","french", "french",
"german","german","french", "french",
"german", "french","german","german",
"german","german","german", "german",
"german","italian","german","french",
"french","german","german")老实说,我不知道这个人是怎么得到这个矩阵的,但是我得到了错误
Error in `[[<-.data.frame`(`*tmp*`, name, value = c(2L, 2L, 2L, 2L, 2L, :
replacement has 27 rows, data has 26请指点
发布于 2015-06-22 20:25:11
似乎应该从第三行末尾的名单中删除一个“法语”条目。我不知道这是示例中的错误还是地图数据的更改(以前在adm1.RData,现在在adm1.RData)。无论如何,我都可以通过以下方式复制网站上显示的地图:
language <- c("german", "german", "german","german",
"german","german","french", "french",
"german","german","french",
"german", "french","german","german",
"german","german","german", "german",
"german","italian","german","french",
"french","german","german")

发布于 2015-06-22 20:28:50
如果您查看您提供的链接中的注释部分,作者提到他对语言向量进行了硬编码。http://blog.revolutionanalytics.com/2009/10/geographic-maps-in-r.html
关于这个错误,它是非常直接的。它通知说语言矢量有27个条目,而只有26个瑞士语言区域(这可能来自小工具包AFAIK)。因此,尝试从语言向量中删除一个条目。
发布于 2015-06-22 20:33:01
RHertel解决了这个问题,但下面是我如何处理这个问题的方法,也许可以作为一个背景;
library(raster)
g <- getData('GADM', level=1, country='CHE')
# create a data.frame of cantons and language
# set them to German (a common one)
lang <- data.frame(g$NAME_1, lang='German')
lang
# now fix the entries that need to be French or Italian
# and merge back to g (a SpatialPolygonsDataFrame)
g <- merge(g, lang, by='NAME_1')
spplot(g, 'lang')https://stackoverflow.com/questions/30988766
复制相似问题