Dotyczące zgonów za rok 2021 pobrano ze strony “https://basiw.mz.gov.pl/index.html#/visualization?id=3761” a następnie zamieniono (skryptem Perla) na prawdziwie-indywidualne, pozbywając się dziwnych agregatów w postaci osób o tych samych cechach, które zmarły tego samego dnia w tym samym powiecie.
Format danych się zmienił oczywiście około połowy stycznia 2022. Nie ma pola w_pelni_zaszczepiony
w szczególności. Sam je zatem robię. Ma ono wartość T
dla tych co przyjęli więcej niż jedną dawkę (kolumna dawka_ost
); wartość N
w przypadku przeciwnym. Wartościami dawka_ost
jest: pelna_dawka
, jedna_dawka
, przypominajaca
oraz uzupełniająca
(w kodowaniu CP1250 oczywiście). Uzupełniającą zmieniam na poziomie przetwarzania Perlem na przypominajaca
, bo to chyba to samo?
Dane są teraz do pobrania ze strony: https://dane.gov.pl/pl/dataset/2582,statystyki-zakazen-i-zgonow-z-powodu-covid-19-z-uw/
basiw2021 <- read.csv("basiw_2021.csv", sep = ';', header=T,
colClasses=c('teryt_woj' = 'character', 'plec' = 'character',
'wiek'='character'),
na.string="NA") %>%
mutate ( wiek = case_when(wiek == '90+' ~ '95', wiek != '90+' ~ wiek )) %>%
mutate (wiek = as.integer(wiek)) %>%
mutate ( plec = case_when(plec == 'nieznana' ~ NA_character_, plec != 'nieznana' ~ plec )) %>%
select(date=data_rap_zgonu, zgony_c19=czy_wspolistniejace, dawka_ost,
wiek) %>%
### uzupełniająca przekodowano na poziomie perla
mutate (d2 = dawka_ost, d2 = case_when(d2 == 'pelna_dawka' ~ 'T',
d2 == 'przypominajaca' ~ 'T',
d2 == 'jedna_dawka' ~ 'N',
d2 == '' ~ 'N' ))
Dotyczące szczepień pobrano ze strony https://www.gov.pl/web/szczepimysie/raport-szczepien-przeciwko-covid-19 Indywidualne pliki csv uporządkowano (bo są w różnej formie) i scalono w jeden (kilka dni brakuje np 30.04.2021)
szcz <- read.csv("szraport.csv", sep = ';', header=T,
colClasses=c('teryt' = 'character'), na.string="NA") %>%
filter (wojewodztwo == 'cały kraj') %>%
select (date, dawka2ogolem)
Zamiana na dane tygodniowe
szcz_w <- szcz %>% mutate (
ww = substr(date2ISOweek(date), 1,8)) %>%
group_by(ww) %>%
summarise(
d2 = last(dawka2ogolem)/pl.pop * 100 ) %>%
ungroup()
d_0 <- basiw2021 %>%
group_by(date, d2) %>% summarise(d = n()) %>% ungroup() %>%
pivot_wider(names_from = d2, values_from = d) %>%
rename(nszczep=N, szczep=T) %>%
mutate(szczep = replace_na(szczep, 0),
nszczep = replace_na(nszczep, 0),
total = szczep + nszczep )
d_0_w <- d_0 %>% mutate (
## błędna zamiana na tygodnie (koniec/początek roku)
## yyyy = as.numeric(substr(date, 1, 4)),
## ww = as.numeric( substr(date2ISOweek(date), 7,8))) %>%
ww = substr(date2ISOweek(date), 1,8)) %>%
group_by(ww) %>%
summarise(szczep = sum(szczep, na.rm = T),
nszczep = sum(nszczep),
total = szczep + nszczep,
nszczep.p = nszczep / total * 100,
szczep.p = szczep / total * 100
) %>%
ungroup()
Połączenie szczepień i zgonów
d <- left_join(d_0_w, szcz_w, by='ww')
d_sz <- d %>% select (ww, nszczep.p, szczep.p, d2) %>%
rename (nsz=nszczep.p, sz=szczep.p ) %>%
## z powrotem na datę
mutate(date = ISOweek2date(sprintf("%s-1", ww))) %>%
pivot_longer(cols=c(nsz, sz, d2), names_to = 'cat', values_to = 'v')
Wykres
mainBreaks <- "4 weeks"
note <- sprintf("© NI-KW (%s oraz %s)",
"https://basiw.mz.gov.pl/index.html#/visualization?id=3761",
"https://www.gov.pl/web/szczepimysie/raport-szczepien-przeciwko-covid-19"
)
p0 <- ggplot(d_sz, aes(x=date, y=v, color=cat)) +
#geom_smooth(method="loess", se=F, span=.25) +
geom_line(size=.4, alpha=.5) +
geom_point(size=1, alpha=.5) +
xlab(label="yy/ww") +
ylab(label="%") +
ggtitle("Odsetek w pełni zaszczepionych vs zmarli z powodu COVID19 (wg tygodni)",
subtitle="Odsetek zaszczepieni / niezaszczepieni liczony dla każdego tygodnia oodzielnie") +
scale_x_date( labels = date_format("%y/%W"), breaks = mainBreaks) +
labs(caption=note) +
# Zmienia etykiety i kolory
# scale_color_manual(name="",
# labels = c("d2"="pz", "nsz"="nie zaszczepieni", 'sz'='zaszczepieni'),
# values = c("d2"='cyan', "nsz"='red', 'sz'='gren' )) +
#
# Zmienia etykiety legendy a nie kolory
scale_color_hue(name="",
labels = c("d2"="podwójnie zaszczepieni", "nsz"="nie zaszczepieni",
"sz"="zaszczepieni")) +
theme_nikw()
##
ggsave(plot=p0, file='szczepieni_zmarli_PL.png')
p0
Koniec