Dane pobrane ze strony https://basiw.mz.gov.pl/index.html#/visualization?id=3761 (najpierw) potem ze strony https://dane.gov.pl/pl/dataset/2582,statystyki-zakazen-i-zgonow-z-powodu-covid-19-z-uw gdzie zostały przeniesione. Dane są w wybitnie dziwnym formacie (do tego do 2020-12-31 w postaci pliku XLSX a od 2021 pliku CSV o innej liczbie/wartościach kolumn):
Ni to indywidualne ni to pogrupowane, bo jeżeli zmarły miał tą samą płeć, wiek, powiat, dzień zgonu, choroby współistniejące, obniżoną odporność oraz status względem szczepienia, to pole `liczba_zaraportowanych_zgonow’ > 1 (no bo przez czysty przypadek takich w powiecie tego dnia zmarło dwóch, albo trzech); Nigdy bym nie wpadł, że tak można komplikować życie. Ale dla geniuszy z MZ nie ma rzeczy niemożliwych
w zasadzie są bez polskich znaków (np pelna_dawka
) ale uzupełniająca
już ma jakieś diakrytyki oczywiście nie UTF8 tylko pewnie wg Windzianego układu CP1250. Uwaga: w wersji pobranej w 2021-12-24 nie ma już diakrytyków uzupelniajaca
zamiast uzupełniająca
.
Status względem szczepień (kolumna dawka_ost
) podaje taką informację: jedna_dawka
, pelna_dawka
, przypominajaca
, uzupełniająca
. Oraz nic nie zawiera co zapewne oznacza, że nie szczepiony. Mnie uczyli że żadna rubryka nie powinna być pusta: nie szczepienie powinni być jawnie oznaczeni. Zresztą tak jest w kolumnie w_pelni_zaszczepiony
, która zawiera T
/N
a przecież mogłaby zawierać T
i nic…
Niestety już na dzień dobry można się zorientować że ten kto te dane gromadzi, no wygląda na dyletanta. Jednego z wielu, którzy się kręcą wokół tej pandemii…
Plik poprawiono (za pomocą prostego skryptu w Perlu) w ten sposób, że wiersze w których liczba_zaraportowanych_zgonow
> 1, zostały stosowną liczbę razy powtórzone. Następnie dane z lat 2020–2021/2 scalono innym skryptem Perla (zamieniając teryt na nazwę województwa dla pliku 2021/2). Ostatecznie plik zgony_i.csv (za cały okres pandemi) zawiera następujące kolumny: data
, woj
, plec
(K/M), wiek
, kat_wiek
(nie używana), dawka_ost (jedna_dawka
, pelna_dawka
, przypominajaca
), czy_wspolistniejace
(0 jeżeli nie było/1 jeżeli były)
Średnie wieku zmarłych wg tygodni (10% oznacza pierwszy decyl zmarłych, a 25% pierwszy kwartyl); Linie są wyznaczone metodą wygładzania LOESS
Średnia wieku 106314 zmarłych to 75.4 lat.
Liczba zmarłych wg tygodni. W szczególności w tych tygodniach, w których średnie wieku zmarłych były względnie niskie (32–36) liczba zgonów też była niska.
Liczba zmarłych w podziale na ogółem i tych w wieku 50 lat i mniej:
W dalszej części analizujemy tylko dane dla tzw. 4-tej fali porównując zaszczepionych i nie zaszczepionych. Nie analizujemy początku roku, bo tam zaszczepionych było mało, potem było wygaszenie pandemii. Od 35 tygodnia (2021-W35-1) liczba zgonów rośnie a jednocześnie już wględnie znaczący odsetek populacji jest zaszczepiony (około 50%)
Definiujemy 3 grupy wieku 0–39, 40–59, 60 i więcej. Szczepionych dzielimy na 2 grupy: nieszczepionych wcale lub raz oraz dwa lub więcej razy szczepionych:
## tylko 4 fala
iv_wave_start <- ISOweek2date(iv_wave_start_week)
d4 <- d0 %>% filter (as.Date(date) >= as.Date(iv_wave_start)) %>%
## recode dawka
mutate(dawka_ost=fct_recode(dawka_ost,
'0/1' = 'jedna_dawka',
'pełna' = 'pelna_dawka',
'pełna' = 'przypominajaca',
## zamienione na `przypominajaca` Perlem
##'2' = 'uzupe\xb3niaj\xb9ca',
'pełna' = 'uzupelniajaca',
'0/1' = '')) %>%
## recode age
mutate(grupa_wieku = case_when(
vek < 40 ~ "<40]",
vek >= 40 & vek < 60 ~ "40-60]",
vek >= 60 ~ "60>" ))
## Warning: Unknown levels in `f`: uzupelniajaca
lzgonow <- nrow(d4)
first.week <- first(d4$data)
Liczba zgonów w tak zdefiniowanym okresie (tj od 2021-08-30 tygodnia) wyniosła 31553.
W dalszej części analizy porównujemy zaszczepionych co najmniej dwa razy oraz nie zaszczepionych wcale. Tych co raz szczepieni pomijamy bo jest ich mało.
Zależność wiek a zaszczepienie (0/1
oznacza że nie był zaszczepiony lub był zaszczepiony raz) w procentach:
<40] | 40-60] | 60> | Sum | |
---|---|---|---|---|
0/1 | 1.3976484 | 7.374893 | 64.41543 | 73.18797 |
pełna | 0.1362786 | 1.502234 | 25.17352 | 26.81203 |
Sum | 1.5339270 | 8.877127 | 89.58895 | 100.00000 |
Zwróćmy uwagę, że 64.4% zgonów (od 2021-08-30 tygodnia 2021 przypominam), to osoby niezaszczepione/raz szczepione w wieku 60 lat i więcej. Warto też zwrócić uwagę, że na tę grupę wieku przypada 89.6% wszystkich zgonów.
Średni wiek w grupach niezaszczepionych (dawka_ost = 0/1
) oraz tych zaszczepionych dwa lub więcej razy (dawka_ost = pełna
):
grupa_wieku | dawka_ost | średnia | mediana | n |
---|---|---|---|---|
<40] | 0/1 | 32.46032 | 34 | 441 |
<40] | pełna | 32.67442 | 35 | 43 |
40-60] | 0/1 | 51.76880 | 53 | 2327 |
40-60] | pełna | 52.79536 | 54 | 474 |
60> | 0/1 | 78.71966 | 80 | 20325 |
60> | pełna | 78.26476 | 78 | 7943 |
Zgony wg grup wieku (stała skala w poszczególnych grupach wiekowych)
To samo co na poprzednim, ale różna skala w poszczególnych grupach wiekowych:
W kolejnej części analizy porównujemy dane dla 4-tej fali porównując zaszczepionych co najmniej podwójnie i nie zaszczepionych wcale w grupie tych, dla których wyłączną przyczyną zgonu był COVID19 (tzw. zmarli bez chorób współistniejących):
Tak zdefiniowana grupa liczy 8772 zmarłych. Średnia wieku w tej grupie to 73.8300274.
Zależność wiek a zaszczepienie (w grupie bez chorób współistniejących) w procentach:
<40] | 40-60] | 60> | Sum | |
---|---|---|---|---|
0/1 | 2.0861833 | 10.316918 | 63.79389 | 76.19699 |
pełna | 0.1481988 | 1.459188 | 22.19562 | 23.80301 |
Sum | 2.2343821 | 11.776106 | 85.98951 | 100.00000 |
Test chi²
##
## Pearson's Chi-squared test
##
## data: deaths.table
## X-squared = 122.82, df = 2, p-value < 0.00000000000000022