Вы можете выбрать одну партию (и затем иметь одно значение для административного региона) или фасет стороной (и иметь столько же кратных, сколько есть партий).
Это действительно зависит от вашей цели с визуализацией. Принимая во внимание, что в вашем файле 48 результатов, «маленькие» множители будут довольно большими, и фильтрация имеет больше смысла.
Для соединения шейп-файла и фрейма данных с результатами выборов я предлагаю использовать одну из функций *_join
из пакета tidyverse
.
Рассмотрим этот подход, основанный на предположении о фильтрации:
library(tidyverse)
library(sf)
tf_elec <- tempfile(fileext = ".csv") # create a temporary csv file
download.file("https://catalogo.datos.gba.gob.ar/dataset/1ae289f8-532c-4f69-a3c8-0268fe0ee390/resource/f8168491-4c38-4b03-82f1-b05fe43f8349/download/generales-2017.csv", tf_elec, quiet = T)
elec <- read_csv2(tf_elec) # read the data
tf_zip <- tempfile(fileext = ".zip") # a temoprary zip file
download.file("https://catalogo.datos.gba.gob.ar/dataset/627f65de-2510-4bf4-976b-16035828b5ae/resource/de607a34-b782-420f-93ed-35073a016e01/download/limite_partidos.zip", tf_zip, quiet = T)
unzip(tf_zip, files = 'Limite_partidos/GeoJSON/Partidos.geojson', exdir = tempdir(), junkpaths = T)
municipios <- st_read(paste0(tempdir(), '/Partidos.geojson'), quiet = T) # read the metro stations
src <- municipios %>%
left_join(elec, by = c('nam' = 'distrito')) %>%
filter(partido == 'VOTOS NULOS') #or what not... :)
ggplot() +
geom_sf(data = src, aes(fill = votos))
Самая сложная часть - загрузка данных. left_join()
находится во втором последнем фрагменте, и самым последним является визуализация - ради простоты я выбрал легкий маршрут ggplot2
, но также рассмотрим отличный пакет tmap
, если вы хотите, чтобы ваши карты действительно сиять.
Условно, переменные среды (PAGER
, EDITOR
...) и внутренние переменные оболочки (SHELL
, BASH_VERSION
...) использованы для своей выгоды. Все другие имена переменной должны быть нижним регистром.
Помните, что имена переменной чувствительны к регистру; эта конвенция старается не случайно переопределять переменные окружения и внутренние переменные.
Придерживаясь этой конвенции, можно пребывать в уверенности, что Вы не должны знать каждую переменную среды, используемую инструментами UNIX или оболочками, чтобы не перезаписывать их. Если это - Ваша переменная, нижний регистр это. Если Вы экспортируете его, верхний регистр он.
Я делаю то, что Вы делаете. Я сомневаюсь, что существует авторитетный источник, но это кажется довольно широко распространенным фактическим стандартом.
Это - просто очень широко сохраненная конвенция, я сомневаюсь, что существует любой "авторитетный" источник для него.
На самом деле термин "переменные среды", кажется, довольно недавней чеканки. Kernighan и Щука в их классической книге "Среда программирования UNIX", опубликованный в 1984, говорят только о "переменных оболочки" - даже нет записи для "среды" в индексе!
я ухаживаю за использованием ALL_CAPS и для переменных среды и для глобальных переменных. конечно, в Bash нет никакого реального переменного объема, таким образом, существует хорошая часть переменных, используемых в качестве globals (главным образом настройки и отслеживание состояния), и относительно немного 'местных жителей' (счетчики, итераторы, частично созданные строки и временные файлы)