Матрица граничной сети Queen и Rook в R - PullRequest
0 голосов
/ 27 октября 2019

Как мне создать пространственную матрицу весов, основанную на смежности стран (ладья или королева)?

Я знаю о функции poly2nb, а затем nb2listw, однако при использовании объекта ggplot ведьма должна иметь информацию о многоугольникене работает для перечисленных стран.

require(maps)
require(viridis)
library(ggplot2)
library(spdep)
library(RColorBrewer)
library(wesanderson)

some.eu.countries <- c(
  "Portugal", "Spain", "France", "Switzerland", "Germany",
  "Austria", "Belgium", "UK", "Netherlands",
  "Denmark", "Poland", "Italy",
  "Croatia", "Slovenia", "Hungary", "Slovakia",
  "Czech republic", "Ukraine", "Ukraine", "Finland", "Belarus", "Norway", 
  "Sweden", "Finland", "Estonia", "Latvia", "Lithuania" ,"Moldova", "Romania", 
  "Bulgaria", "Macedonia", "Greece"
)
# Retrievethe map data

map_data("europe")

some.eu.maps <- map_data("world", region = some.eu.countries) 

g = ggplot(some.eu.maps, aes(x = long, y = lat, group = group)) +
  geom_polygon(fill="lightgray", colour = "white") 
print(g)

И затем создание весовой матрицы:

# Spatial weights based on the border (Rook and Queen)
Border_Weight <- poly2nb(g)
summary(Border_Weight)
S<-nb2listw(Border_Weight)

Чего мне не хватает?

...