Open bananaonthemoon opened 4 years ago
Jak najbardziej, ale myślę, że to będzie oddzielny rozdział w pracy. Można wtedy pomyśleć o podziale:
Jeszcze jedna myśl. Teraz pokazujemy relację procent głosów vs powierzchnia (bo cartogram zniekształca wg powierzchni). Może warto oprócz frekwencji zobaczyć też mapy udziału liczby głosów na danych kandydatów.
W sumie to co jest na wcześniejszym zdjęciu to jest udział, tylko nie wiem czemu było to f1.duda a nie t1.duda (tura pierwsza). Ale już poprawiłam, będę robiła zarówno frekwencję jak i udział.
czy w _cartogramcont() iteracja ma prawo wzrastać? bo przy f1 rośnie, a następnie maleje...
Mean size error for iteration 1: 2.99752454682636 Mean size error for iteration 2: 2.08323348102312 Mean size error for iteration 3: 2.14938085394077 Mean size error for iteration 4: 2.19184837826684 Mean size error for iteration 5: 4.82316545821428 Mean size error for iteration 6: 8.15867043217105 Mean size error for iteration 7: 3.92566550920961 Mean size error for iteration 8: 2.52950710072667 Mean size error for iteration 9: 2.03095764617475 Mean size error for iteration 10: 1.83141507658028 Mean size error for iteration 11: 1.74206905342728 Mean size error for iteration 12: 1.71326574665436 i tak dalej...
Jezu, znowu rośnie...
library(cartogram)
library(tmap)
library(tmaptools)
library(tidyverse)
library(sf)
#> Linking to GEOS 3.6.1, GDAL 2.2.3, PROJ 4.9.3
prez = "https://raw.github.com/bananaonthemoon/wybory/master/dane/prez_powiaty_demo.gpkg"
prez_woj = read_sf(prez, stringsAsFactors=FALSE) %>%
st_transform(crs = 2180)
download.file("https://www.naturalearthdata.com/http//www.naturalearthdata.com/download/10m/cultural/ne_10m_admin_0_map_subunits.zip", "ne_10m_admin_0_map_subunits.zip")
unzip("ne_10m_admin_0_map_subunits.zip")
sasiad = c("Germany", "Czechia", "Slovakia", "Ukraine", "Belarus", "Lithuania", "Kalinigrad", "Austria")
bord = read_sf("ne_10m_admin_0_map_subunits.shp") %>%
filter(SUBUNIT %in% sasiad) %>%
select(NAME, POSTAL) %>%
st_transform(crs = 2180)
granica = read_sf("ne_10m_admin_0_map_subunits.shp") %>%
filter(SUBUNIT == "Poland") %>%
select(NAME, POSTAL) %>%
st_transform(crs = 2180)
# f1 ----------------------------------------------------------------
# Continuous Area Cartogram
prez_woj_cont_f1 = cartogram_cont(prez_woj, "f1", 15)
#> Mean size error for iteration 1: 2.99752454682636
#> Mean size error for iteration 2: 2.08323348102312
#> Mean size error for iteration 3: 2.14938085394077
#> Mean size error for iteration 4: 2.19184837826684
#> Mean size error for iteration 5: 4.82316545821428
#> Mean size error for iteration 6: 8.15867043217105
#> Mean size error for iteration 7: 3.92566550920961
#> Mean size error for iteration 8: 2.52950710072667
#> Mean size error for iteration 9: 2.03095764617475
#> Mean size error for iteration 10: 1.83141507658028
#> Mean size error for iteration 11: 1.74206905342728
#> Mean size error for iteration 12: 1.71326574665436
#> Mean size error for iteration 13: 1.73415899164093
#> Mean size error for iteration 14: 1.80846832898182
#> Mean size error for iteration 15: 1.95178783574562
# Non-contiguous Area Cartogram
prez_woj_ncont_f1 = cartogram_ncont(prez_woj, "f1")
# Non-overlapping Circles Cartogram
prez_woj_dorling_f1 = cartogram_dorling(prez_woj, "f1")
Created on 2020-04-27 by the reprex package (v0.3.0)
Może też Pani popróbować sterować argumentem threshold
(domyślnie jest chyba 0.05). Plus, a co się dzieje przy 100 lub 200 iteracjach?
chyba zostanę przy thresholdzie 0.1 iteracje.txt
@Nowosad, st_cast() niestety nie pomaga w pozbyciu się dziur w powiatach.
library(cartogram)
library(tmap)
library(maptools)
library(dplyr)
library(sf)
library(tmaptools)
prez_p = "https://raw.github.com/bananaonthemoon/wybory/master/dane/powiaty.gpkg"
prez_pow = read_sf(prez_p, stringsAsFactors=FALSE) %>%
st_transform(crs = 2180) %>%
st_cast()
prez_pow_cont_frek = cartogram_cont(prez_pow, "t1_Frekwencja", 15, threshold = 0.1)
cont_pow_frek = tm_shape(prez_pow_cont_frek) +
tm_polygons(col = "#BDE5B7", lwd = 1) +
tm_layout(frame = FALSE)
print(cont_pow_frek)
try st_cast("POLYGON")
jest jeszcze większa dziura. wydaje mi się, że przy mniejszych różnicach wartości nie robią się te dziury, a jest jeszcze kilka powiatów z enklawami.
@Nowosad, może przy Continuous Area Cartogram warto użyć animacji (jak się kształt zmienia)?