2020 excess mortality & voting patterns in CH

Redistributed cantonal deaths

Data

Spatial

kt = read_rds("data/BfS/kt.Rds")
gg = read_rds("data/BfS/gg.Rds")
tg3o = read_rds("data/BfS/tg3o.Rds")
se_alt = read_rds("data/BfS/se_alt.Rds")
carto = read_rds("data/carto/carto.Rds")

Downscaled data

exp_deaths_2020_year_gem = read_rds("results/exp_deaths_2020_year_gem.Rds") %>% 
  select(-munici_excess_pop, -munici_excess_rat) %>% 
  mutate(munici_sir = munici_observed / munici_expected_med)
summary(exp_deaths_2020_year_gem$munici_sir)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
  1.000   1.310   1.421     Inf   1.582     Inf      52 

Problematic cases

# exp_deaths_2020_year_gem %>% 
#   filter(is.na(munici_sir)) %>% 
#   select(munici_observed, munici_expected_med)

# zero and zero
exp_deaths_2020_year_gem %>% 
  filter(is.nan(munici_sir)) %>% 
  select(munici_observed, munici_expected_med, munici_sir)
# A tibble: 52 × 3
   munici_observed munici_expected_med munici_sir
             <int>               <dbl>      <dbl>
 1               0                   0        NaN
 2               0                   0        NaN
 3               0                   0        NaN
 4               0                   0        NaN
 5               0                   0        NaN
 6               0                   0        NaN
 7               0                   0        NaN
 8               0                   0        NaN
 9               0                   0        NaN
10               0                   0        NaN
# … with 42 more rows
# positive and zero
exp_deaths_2020_year_gem %>% 
  filter(is.infinite(munici_sir)) %>% 
  select(munici_observed, munici_expected_med, munici_sir)
# A tibble: 49 × 3
   munici_observed munici_expected_med munici_sir
             <int>               <dbl>      <dbl>
 1               1                   0        Inf
 2               1                   0        Inf
 3               1                   0        Inf
 4               1                   0        Inf
 5               1                   0        Inf
 6               1                   0        Inf
 7               1                   0        Inf
 8               1                   0        Inf
 9               1                   0        Inf
10               2                   0        Inf
# … with 39 more rows
# removed for now
exp_deaths_2020_year_gem %<>% 
  filter(!is.infinite(munici_sir)) %>% 
  filter(!is.nan(munici_sir))

SIR

Distribution

Maps

x <categorical> 
# total N=2040 valid N=2040 mean=2.98 sd=1.43

Value       |   N | Raw % | Valid % | Cum. %
--------------------------------------------
[1.00,1.29) | 436 | 21.37 |   21.37 |  21.37
[1.29,1.36) | 389 | 19.07 |   19.07 |  40.44
[1.36,1.48) | 399 | 19.56 |   19.56 |  60.00
[1.48,1.62) | 409 | 20.05 |   20.05 |  80.05
[1.62,5.00] | 407 | 19.95 |   19.95 | 100.00
<NA>        |   0 |  0.00 |    <NA> |   <NA>

Choropleth

Proportional symbols

Symbol size perceptually scaled to number of expected deaths.

Cartogram

tmap_save(carto, "docs/sir.png", width = 1920, height = 1080, asp = 0)

EDA June vote

Map



Correlations

Unweighted

cor.test(exp_deaths_2020_year_gem$munici_sir, 
         exp_deaths_2020_year_gem$vote_yes_jun_perc, 
         method = "pearson")

    Pearson's product-moment correlation

data:  exp_deaths_2020_year_gem$munici_sir and exp_deaths_2020_year_gem$vote_yes_jun_perc
t = 5.0156, df = 2038, p-value = 0.0000005745
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 0.06734542 0.15308706
sample estimates:
      cor 
0.1104217 

Weighted

wtd.cor(exp_deaths_2020_year_gem$munici_sir, 
        exp_deaths_2020_year_gem$vote_yes_jun_perc, 
        weight = exp_deaths_2020_year_gem$munici_expected_med)
  correlation    std.err   t.value   p.value
Y -0.02421592 0.02214474 -1.093529 0.2742907

Scatter

Unweighted

Weighted

Box

EDA Nov vote

Map



Correlations

Unweighted

cor.test(exp_deaths_2020_year_gem$munici_sir, 
         exp_deaths_2020_year_gem$vote_yes_nov_perc, 
         method = "pearson")

    Pearson's product-moment correlation

data:  exp_deaths_2020_year_gem$munici_sir and exp_deaths_2020_year_gem$vote_yes_nov_perc
t = 1.8844, df = 2038, p-value = 0.05965
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 -0.001696124  0.084951179
sample estimates:
       cor 
0.04170594 

Weighted

wtd.cor(exp_deaths_2020_year_gem$munici_sir, 
        exp_deaths_2020_year_gem$vote_yes_nov_perc, 
        weight = exp_deaths_2020_year_gem$munici_expected_med)
  correlation    std.err   t.value               p.value
Y  -0.1597816 0.02186664 -7.307091 0.0000000000003899328

Scatter

Unweighted

Weighted

Box