Я собираюсь проанализировать данные переписи в Австралии , используя googleway для составления тепловых карт.
Мой подход состоял в том, чтобы использовать подготовленные данные из googleway melbourne
, который содержит столбец SA2_NAME
, и объединить его с файлом формы ESRI из данных переписи после преобразования с помощью rgdal (код ниже). Проблема в том, что соединение по SA2_NAME
не является уникальным для полилиний - некоторые области SA2 состоят из нескольких «подзон». Так что, похоже, это не очень хороший подход.
Лучшим подходом было бы преобразование данных формы ESRI sa2_shape
ниже для получения полилиний в формате данных melbourne
. Как это сделать?
Приведенный ниже код создает фрейм данных «мост» для использования при объединении данных melbourne
из googleway
с данными ABS, в которых ключевым полем является SA2_MAIN
- как указано выше, проблема с этим подходом «хака» заключается в том, что что полилинии не являются уникальными SA2_NAME
library(tidyverse)
library(googleway)
library(rgdal)
shape_path <- "abs_data/sa2_esri_shapefile"
shape_file <- "SA2_2016_AUST"
sa2_shape <- readOGR(shape_path, shape_file)
sa2_df <- data.frame(sa2_shape$SA2_MAIN, sa2_shape$SA2_NAME)
names(sa2_df) <- c("SA2_MAIN", "SA2_NAME")
sa2_df <- sa2_df %>% semi_join(melbourne, by = "SA2_NAME")