0

私はこのウェブサイトを勉強しています

いくつかのことを理解していません:

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

ガイドしてください

4

3 に答える 3

1

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')
于 2015-06-22T20:33:01.790 に答える