У меня есть файл формы статистических локальных областей (аналог почтового индекса) в Австралии. Вы можете загрузить его здесь , файл называется «Цифровые границы статистических локальных областей ASGC Ed 2011 в формате ESRI Shapefile» (на момент написания статьи это вторая ссылка).
Я пытаюсь отобразить соглашения об уровне обслуживания на графике ggmap
, используя поле Население из вторичной таблицы для обеспечения сопоставления цветов. Вот что я получил до сих пор:
library(tidyverse)
library(ggmap)
library(rgdal)
pops <- read_csv('http://mm-c.me/work/SlaPopulations.csv', col_types = "ci")
slas <- readOGR(dsn="SLA",layer="SLA11aAust")
aus4 <- get_map("Australia",zoom=4)
ggmap(aus4)
ggmap(aus4)+
geom_path(data=slas, color = "black", aes(x=long,y=lat, group = group))
#Create a copy so we don't accidentally break the original
slasextended <- slas
slasextended@data <- slasextended@data %>%
left_join(pops)
#Throws an error
#Error in FUN(X[[i]], ...) : object 'Population' not found
ggmap(aus4)+
geom_polygon(data=slasextended,
color = "black",
aes(x = long,
y = lat,
group = group,
fill = Population))
Этот подход основан на таких вопросах, как этот , которые предлагают обрабатывать объект @data
как фрейм данных, а затем добавлять к нему столбцы. Проблема в том, что ggmap
не может найти данные для отображения.
Как мне это сделать? Я что-то делаю полностью отсталым или как-то?