Oiredata ja tartunnat

Ikäryhmäkohtaisten oiretietojen kautta voidaan approksimoida tartuntamääriä. Mentelmiä on varmaan muitakin, mutta antaa osviitta siitä mitä mahdollisesti tapahtuu seuraavan kahden viikon aikana.

Katsoin ikäryhmäkohtaisia vastaavien viikkojen tartunta- ja oiretietoja. Kun lasketaan viikon 30 oiretietojen summa ja siitä suhdeluku suhteessa tartuntojen viikkokohtaiseen summaan sain keskimäärin ikäryhmäkohtaisessa tarkastelussa 29.4 oire-ilmoitusta / tartunta /viikko.

Kehitysideoita. Viikkokohtaiset erittelyt tulisi tehdä seuraavalla tavalla:

  • oiredata aikaväli viikko, kahden viikon takainen
  • tartuntadata aikaväli viikko, edellinen viikko nykyhetkestä

Tarkastelu tulee oiredatan suhteen tehdä kahden viikon päähän, koska 4-7 päivää COVID-19 tauti saattaa olla oireinen tai vähäoireinen. Oireiden alusta menee 4-6 päivää, kunnes potilas hakeutuu testeihin tai saa testituloksen. Pari kolme päivää varataan testituloksen saamiselle, näin ollen viikkokohtainen aikaväli on perusteltu, kunhan oire- ja tartuntadatan aikaväli on 2 viikkoa. Eli esim. viikon 30 tartuntatiedot ja vastaavasti viikon 27 oiredata. Näiden avulla voidaan määrittää suhdeluvut ja käyttää niitä tulevien viikkojen ennusteissa.

COVID19 – FI – kunta- ja päiväkohtaiset tartunnat 2020

Alla oleva data on ladattu THL:n avoimen rajapinnan kautta. Viimeisin päivitys 26.7.2020 klo 12:00.

LATAA tiedosto: Tartuntatiedot ajettu avoimesta rajapinnasta – päivittäin ja kunnittain.

26.7.2020 ajolistauksessa päiväkohtaisissa tartuntatiedoissa seuraavat muutokset. Sulkeissa eilinen 25.7.2020 lukuarvo.
22.06.2020 | 5(4) +1
25.06.2020 | 14(15) -1
15.07.2020 | 5(6) +1
23.07.2020 | 3(2) +1
24.07.2020 | 8(5) +3
25.07.2020 | 2(0) +2

26.7.2020 ajolistauksen kuntakohtaisissa tartuntatiedoissa seuraavat muutokset. Sulkeissa eilinen 25.7.2020 lukuarvo.
Turku | 212(213) -1
Helsinki | 2771(2769) +2
Vantaa | 910(906) +4

23.7.2020 ajolistauksessa päiväkohtaisissa tartuntatiedoissa seuraavat muutokset. Sulkeissa eilinen 22.7.2020 lukuarvo.
22.04.2020 | 122(123) -1
04.05.2020 | 134(135) -1
07.05.2020 | 106(107) -1
08.05.2020 | 81(79) +2
09.05.2020 | 47(46) +1
11.05.2020 | 93(94) -1
12.05.2020 | 67(68) -1
13.05.2020 | 79(78) +1
14.05.2020 | 51(54) -3
15.05.2020 | 55(54) +1
18.05.2020 | 45(43) +2
20.05.2020 | 43(44) -1
22.05.2020 | 32(31) +1
29.05.2020 | 21(22) -1
30.05.2020 | 10(11) -1
02.06.2020 | 15(14) +1
04.06.2020 | 12(10) +2
18.07.2020 | 7(6) +1
20.07.2020 | 11(10) +1
21.07.2020 | 7(4) +3
22.07.2020 | 4(0) +4
Tartuntojen kokonaismäärä nyt 7372.

23.7.2020 ajolistauksen kuntakohtaisissa tartuntatiedoissa seuraavat muutokset. Sulkeissa eilinen 22.7.2020 lukuarvo.
Jyväskylä | 109(108) +1
Helsinki | 2768(2766) +2
Espoo | 842(839) +3
Kerava | 80(77) +3

22.7.2020 ajolistauksessa päiväkohtaisissa tartuntatiedoissa seuraavat muutokset. Sulkeissa eilinen 21.7.2020 lukuarvo.
03.06.2020 | 25(26) -1
06.06.2020 | 13(12) +1
02.07.2020 | 7(8) -1
18.07.2020 | 6(4) +2
19.07.2020 | 3(2) +1
20.07.2020 | 10(4) +6
21.07.2020 | 3(0) +3
Tartuntojen kokonaismäärä nyt 7362.

22.7.2020 ajolistauksen kuntakohtaisissa tartuntatiedoissa seuraavat muutokset. Sulkeissa eilinen 21.7.2020 lukuarvo.
Maarianhamina | 16(15) +1
Turku |208(205) +3
Tampere | 141(140) +1
Jyväskylä | 108(107) +1
Helsinki | 2766(2764) +2
Espoo | 839(837) +2
Kerava | 77(76) +1

21.7.2020 ajolistauksessa päiväkohtaisissa tartuntatiedoissa seuraavat muutokset. Sulkeissa eilinen 20.7.2020 lukuarvo.
08.04.2020 | 138(137) +1
05.05.2020 | 126(125) +1
21.05.2020 | 22(21) +1
04.07.2020 | 2(1) +1
15.07.2020 | 5(4) +1
19.07.2020 | 2(0) +2
20.07.2020 | 4(0) +4
Muuttuneita tietoja kaikkiaan 7 kpl. Tartuntojen kokonaismäärä nyt 7351.

21.7.2020 ajolistauksen kuntakohtaisissa tartuntatiedoissa seuraavat muutokset. Sulkeissa eilinen 20.7.2020 lukuarvo.
Turku | 205(204) +1
Eurajoki |7(6) +1
Savonlinna | 12(11) +1
Kokkola | 8(9) -1
Helsinki | 2764(2758) +6
Vantaa | 902(899) +3

20.7.2020 ajolistauksessa päiväkohtaisissa tartuntatiedoissa seuraavat muutokset. Sulkeissa eilinen 19.7.2020 lukuarvo.
14.06.2020 | 4(3) +1
13.07.2020 | 6(7) -1
16.07.2020 | 9(8) +1
18.07.2020 | 4(0) +4
Muuttuneita tietoja kaikkiaan 4 kpl. Tartuntojen kokonaismäärä nyt 7340.

20.7.2020 ajolistauksen kuntakohtaisissa tartuntatiedoissa seuraavat muutokset. Sulkeissa eilinen 19.7.2020 lukuarvo.
Maarianhamina | 15(16) -1
Pori | 25(24) +1
Kokkola | 9(8) +1
Espoo | 837(836) +1
Helsinki | 2758(2756) +2
Vantaa | 899(898) +1

19.7.2020 ajolistauksessa päiväkohtaisissa tartuntatiedoissa seuraavia muutoksia: Sulkeissa eilinen 18.7.2020 lukuarvo.
06.05.2020 | 90(91) -1
25.06.2020 |15(14) +1
02.07.2020 |8(1) +7
16.07.2020 |8(4) +4
17.07.2020 |6(0) +6
Muuttuneita tietoja kaikkiaan 5 kpl. Tartuntojen kokonaismäärä nyt 7335.

18.7.2020 ajolistauksessa päiväkohtaisissa tartuntatiedoissa seuraavia muutoksia: Sulkeissa eilinen 17.7.2020 lukuarvo.
16.03.2020 | 52(51) +1
29.06.2020 |15(14) +1
03.07.2020 |5(4) +1
09.07.2020 |8(5) +3
10.07.2020 |7(3) +4
15.07.2020 |4(2) +2
16.07.2020 |4(0) +4
Muuttuneita tietoja kaikkiaan 8 kpl. Tartuntojen kokonaismäärä nyt 7318.

17.7.2020 ajolistauksen mukaan päiväkohtaisissa tartuntatiedoissa seuraavia muutoksia:
Sulkeissa eilinen 16.7.2020 lukuarvo.
8.4.2020 | 137(138) -1
7.5.2020 |105(107) -2
8.6.2020 |9(8) +1
24.6.2020|15(16) -1
5.7. 2020 |2(1) +1
8.7. 2020 |10(9) +1
10.7.2020|3(2) +1
11.7. 2020|0(1) -1
13.7. 2020|7(6) +1
14.7. 2020|5(2) +3
15.7. 2020|2(0) +2
Muuttuneita tietoja kaikkiaan 11 kpl. Tartuntojen kokonaismäärä nyt 7301 kpl.

COVID19 tartunnat ikäryhmittäin, sukupuolittain, sairaanhoitopiireittäin ja kunnittain – R Studio

THL:n avoimen rajapinnan kautta pääsee lataamaan tartuntatautirekisterin tietoja suoraan alla olevan ohjeen mukaisesti. Alla listattuna tarvittavat R-kirjastot ja omina lisäyksinäni SQL -lauseet haluttujen tietojen poimintaan. Kevään mittaan olen näistä tehnyt päivittäin koosteita mm. Twitteriin ja toistaiseksi toiminut moitteettomasti. Eläköön avoinrajapinta. R-ohjelman voit ladata R-studio versiona täältä tai sitten voit käyttää vaihtoehtoisesti tätä versiota.

Have fun with R!

Marko

#Koodausohje-esimerkki R-kielellä
#Tässä esimerkissä haetaan THL:n rajapinnasta COVID-19-tapaukset ikäryhmittäin ja tehdään niistä aineisto.

#Paketti datan editoimiseen ja visualisointiin
library(tidyverse)
#Paketti datan lukemiseen
library(jsonlite)
library(sqldf)
library(DBI)
library(data.table)

HUOM VAIHDA AINA ENSIN PÄIVÄMÄÄRÄ
#190620
#100620

#-----------------------------------------
#IKÄRYHMITTÄIN
#----------------------------------------

#Paketti datan editoimiseen ja visualisointiin
library(tidyverse)
#Paketti datan lukemiseen
library(jsonlite)
library(sqldf)
library(DBI)
library(readr)   # Read tabular data.
library(tidyr)   # Data frame tidying functions.
library(dplyr)   # General data frame manipulation.
library(ggplot2) # Flexible plotting.
mydb <- dbConnect(RSQLite::SQLite(), "my-db.sqlite")
#dbDisconnect(mydb)
#unlink("my-db.sqlite")

#otetaan edellispäivän data talteen 
#Luetaan aineisto sisään
 aineisto <- fromJSON("https://sampo.thl.fi/pivot/prod/fi/epirapo/covid19case/fact_epirapo_covid19case.json?column=ttr10yage-444309")

#puretaan kategoriat paloiksi
 label <- as.data.frame(unlist(aineisto$dataset$dimension$ttr10yage$category$label))
 index <- as.data.frame(unlist(aineisto$dataset$dimension$ttr10yage$category$index))
  
 #Nimetään palaset
 names(label)<-"label"
 names(index)<-"index"
  
 #Laitetana vielä rivinumerot sarakkeiksi, jotta nämä saadaan yhteen.
 label<-rownames_to_column(label)
 index<-rownames_to_column(index)
  
 #Yhdistetään rivinimeä käyttäen
 kategoriat <- index %>% left_join(label,by="rowname")
 
 #otetaan data
 data <- as.data.frame(unlist(aineisto$dataset$value))
 data_old <- as.data.frame(unlist(aineisto$dataset$value))
 
 #Nimetään
 names(data)<-"Tapauksia"
 names(data_old)<-"Tapauksia_edellispvm"

 data<-rownames_to_column(data)
 data_old<-rownames_to_column(data_old)

 data$rowname<-as.numeric(data$rowname)
 data_old$rowname<-as.numeric(data_old$rowname)

 
#Yhdistetään muuhun aineistoon
 dataset_ir_190620 <- kategoriat %>% left_join(data,by=c("index"="rowname"))
 dataset_ir_old <- kategoriat %>% left_join(data_old,by=c("index"="rowname"))

dataset_ir_190620


#VIEDÄÄN TULOKSET KANSIOON

write.table(dataset_ir_190620, file = "C:/...LISÄÄ TÄHÄN OMA POLKUSI/dataset_ir_190620.txt", sep = "\t", col.names = NA, qmethod = "double")
#katsotaan lopuksi tulokset
View(dataset_ir_190620)

#tässä kohtaa voi olla tarvetta hakea aikaisempia tietoja ja se tehdään seuraavalla tavalla
#LUETAAN KOONTI TAKAISIN

dataset_ir_200520 <- read.delim("C:/Users/marko/Dropbox/kuvat/home/Marko/R/koronadataa/dataset_ir_200520.txt")
View(dataset_ir_200520)
#vaihda päivämäärä, jotta saat halutun päivän tiedot tähän vertailuun mukaan

#tämä mikäli, et ole sitä jo tehnyt....
mydb <- dbConnect(RSQLite::SQLite(), "my-db.sqlite")

#ladataan taulut
dbWriteTable(mydb, "dataset_ir_140520", dataset_ir_140520)

#TÄMÄ JA EDELLINEN PÄIVÄ (muuta pvm tekstit oman tarpeesi mukaan)
rsa <- dbSendQuery(mydb, 'SELECT a.label, a.Tapauksia as Tapaukset_190620, b.Tapauksia as Tapaukset_180620, (a.Tapauksia)-(b.Tapauksia) as Muutos_lkm
FROM dataset_ir_190620 a  
LEFT JOIN dataset_ir_180620 b 
ON a.label = b.label')
dbFetch(rsa)

#tai sitten vaikka näin

#RAJOITUSTEN PURUSTA TÄHÄN PÄIVÄÄN 
rsa <- dbSendQuery(mydb, 'SELECT a.label, a.Tapauksia as Tapaukset_190620, b.Tapauksia as Tapaukset_310520, (a.Tapauksia)-(b.Tapauksia) as Muutos_lkm
FROM dataset_ir_190620 a  
LEFT JOIN dataset_ir_310520 b 
ON a.label = b.label')
dbFetch(rsa)

Alla esimerkki, miten tiedot haetaan sukupuolittain.

#-----------------------------------------
#SUKUPUOLITTAIN
#----------------------------------------
#Paketti datan editoimiseen ja visualisointiin
 library(tidyverse)
#Paketti datan lukemiseen
library(jsonlite)
library(sqldf)
library(DBI)

mydb <- dbConnect(RSQLite::SQLite(), "my-db.sqlite")
#dbDisconnect(mydb)
#unlink("my-db.sqlite")


#Luetaan aineisto sisään
 aineisto <- fromJSON("https://sampo.thl.fi/pivot/prod/fi/epirapo/covid19case/fact_epirapo_covid19case.json?column=sex-444328")

#puretaan kategoriat paloiksi
 label <- as.data.frame(unlist(aineisto$dataset$dimension$sex$category$label))
 index <- as.data.frame(unlist(aineisto$dataset$dimension$sex$category$index))
  
 #Nimetään palaset
 names(label)<-"label"
 names(index)<-"index"
  
 #Laitetana vielä rivinumerot sarakkeiksi, jotta nämä saadaan yhteen.
 label<-rownames_to_column(label)
 index<-rownames_to_column(index)
  
 #Yhdistetään rivinimeä käyttäen
 kategoriat <- index %>% left_join(label,by="rowname")
 
 #otetaan data
 data <- as.data.frame(unlist(aineisto$dataset$value))
 
 #Nimetään
 names(data)<-"Tapauksia"

 data<-rownames_to_column(data)

 data$rowname<-as.numeric(data$rowname)



#Yhdistetään muuhun aineistoon
dataset_sp_190620 <- kategoriat %>% left_join(data,by=c("index"="rowname"))

dataset_sp_190620

write.table(dataset_sp_190620, file = "C:/....TÄHÄN OMA TIEDOSTOSIJAINTISI TULOSTIEDOSTOILLE.../dataset_sp_190620_sukupuolittain.txt", sep = "\t", col.names = NA, qmethod = "double")

#LUETAAN KOONTI TAKAISIN (MIKÄLI TARVETTA...) HUOM. TÄMÄ ON VAIN MALLI...
dataset_sp_190620 <- read.delim("C:/..TÄHÄN OMA TIEDOSTOSIJAINTISI.../dataset_sp_190620_sukupuolittain.txt")
View(dataset_sp_190620)

#ladataan taulut
dbWriteTable(mydb, "dataset_sp_190620", dataset_sp_190620)

#TOIMII
rsa <- dbSendQuery(mydb, 'SELECT a.label, a.Tapauksia as Tapaukset_190620, b.Tapauksia as Tapaukset_180620, (a.Tapauksia)-(b.Tapauksia) as Ero_eiliseen
FROM dataset_sp_190620 a  
LEFT JOIN dataset_sp_180620 b 
ON a.label = b.label')
dbFetch(rsa)

Seuraavaksi katsotaan, miten saadaan ladattua tiedot sairaanhoitopiireittäin.

#-----------------------------------------
#SAIRAANHOITOPIIREITTÄIN
#----------------------------------------
#Paketti datan editoimiseen ja visualisointiin
 library(tidyverse)
#Paketti datan lukemiseen
 library(jsonlite)
library(sqldf)
library(DBI)
mydb <- dbConnect(RSQLite::SQLite(), "my-db.sqlite")
#Luetaan aineisto sisään
 aineisto <- fromJSON("https://sampo.thl.fi/pivot/prod/fi/epirapo/covid19case/fact_epirapo_covid19case.json?column=hcdmunicipality2020-445222")

#puretaan kategoriat paloiksi
 label <- as.data.frame(unlist(aineisto$dataset$dimension$hcdmunicipality$category$label))
 index <- as.data.frame(unlist(aineisto$dataset$dimension$hcdmunicipality$category$index))
  
 #Nimetään palaset
 names(label)<-"label"
 names(index)<-"index"
  
 #Laitetana vielä rivinumerot sarakkeiksi, jotta nämä saadaan yhteen.
 label<-rownames_to_column(label)
 index<-rownames_to_column(index)
  
 #Yhdistetään rivinimeä käyttäen
 kategoriat <- index %>% left_join(label,by="rowname")
 
 #otetaan data
 data <- as.data.frame(unlist(aineisto$dataset$value))
 
  #Nimetään
 names(data)<-"Tapauksia"
 names(data_old)<-"Tapauksia_edellispvm"
 data<-rownames_to_column(data)
 data_old<-rownames_to_column(data_old)
 data$rowname<-as.numeric(data$rowname)
 data_old$rowname<-as.numeric(data_old$rowname)
 
#Yhdistetään muuhun aineistoon
dataset_shp_190620 <- kategoriat %>% left_join(data,by=c("index"="rowname"))
#dataset <- kategoriat %>% left_join(data,by=c("index"="rowname"))

dataset_shp_190620
#plot(dataset_shp_190620)

write.table(dataset_shp_190620, file = "C:/...TÄHÄN OMA TIEDOSTOSIJAINTISI.../dataset_shp_190620_shp.txt", sep = "\t", col.names = NA, qmethod = "double")

#ja jos on tarvetta niin ladataan vanhaa dataa näin...
#LUETAAN KOONTI TAKAISIN
dataset_shp_050520 <- read.delim("C:/...TÄHÄN OMA TIEDOSTOSIJAINTISI.../dataset_shp_050520_shp.txt")
View(dataset_shp_050520)

#ladataan taulut (jos tarvetta...)
#dbWriteTable(mydb, "dataset_shp_050520", dataset_shp_050520)
#tämä täytyy kyllä tehdä, jotta alla oleva kysely saadaan toimimaan...
dbWriteTable(mydb, "dataset_shp_190620", dataset_shp_190620)

#EILISEEN VERRATTUNA
rsa <- dbSendQuery(mydb, 'SELECT a.label, a.Tapauksia as Tartunnat_190620, b.Tapauksia as Tartunnat_180620, (a.Tapauksia)-(b.Tapauksia) as Ero_edellispäivään
FROM dataset_shp_190620 a  
LEFT JOIN dataset_shp_180620 b 
ON a.label = b.label')
dbFetch(rsa)

#RAJOITUSTEN HÖLLENTÄMINEN 1.6. LÄHTIEN
rsa <- dbSendQuery(mydb, 'SELECT a.label, a.Tapauksia as Tartunnat_190620, b.Tapauksia as Tartunnat_310520, (a.Tapauksia)-(b.Tapauksia) as Muutos_31_5_lähtien
FROM dataset_shp_190620 a  
LEFT JOIN dataset_shp_310520 b 
ON a.label = b.label')
dbFetch(rsa)


#RAJOITUSTEN POISTO - KOULUJEN AVAUS
rsa <- dbSendQuery(mydb, 'SELECT a.label, a.Tapauksia as Tartunnat_190620, b.Tapauksia as Tartunnat_130520, (a.Tapauksia)-(b.Tapauksia) as Muutos_13_5_lähtien
FROM dataset_shp_190620 a  
LEFT JOIN dataset_shp_130520 b 
ON a.label = b.label')
dbFetch(rsa)

Kuntakohtaiseen dataan pääsee käsiksi alla olevan koodin kautta….

#-----------------------------------------
#KUNNITTAIN
#----------------------------------------
#Paketti datan editoimiseen ja visualisointiin
 library(tidyverse)
#Paketti datan lukemiseen
 library(jsonlite)
library(sqldf)
library(DBI)
#Luetaan aineisto sisään
 aineisto <- fromJSON("https://sampo.thl.fi/pivot/prod/fi/epirapo/covid19case/fact_epirapo_covid19case.json?column=hcdmunicipality2020-445268L")

#puretaan kategoriat paloiksi
 label <- as.data.frame(unlist(aineisto$dataset$dimension$hcdmunicipality$category$label))
 index <- as.data.frame(unlist(aineisto$dataset$dimension$hcdmunicipality$category$index))
  
 #Nimetään palaset
 names(label)<-"label"
 names(index)<-"index"
  
 #Laitetana vielä rivinumerot sarakkeiksi, jotta nämä saadaan yhteen.
 label<-rownames_to_column(label)
 index<-rownames_to_column(index)
  
 #Yhdistetään rivinimeä käyttäen
 kategoriat <- index %>% left_join(label,by="rowname")
 
 #otetaan data
 data <- as.data.frame(unlist(aineisto$dataset$value))
 
 #Nimetään
 names(data)<-"Tapauksia"
 data<-rownames_to_column(data)
 data$rowname<-as.numeric(data$rowname)
 
#Yhdistetään muuhun aineistoon
dataset_kunta_190620 <- kategoriat %>% left_join(data,by=c("index"="rowname"))


#TALLENNETAAN OMAAN TIEDOSTOSIJAINTIIN MYÖHEMPÄÄ KÄYTTÖÄ VARTEN...
write.table(dataset_kunta_190620, file = "C:/...TÄHÄN OMA TIEDOSTOSIJAINTI.../dataset_kunta_190620_kunnittain.txt", sep = "\t", col.names = NA, qmethod = "double")

#KATSOTAAN VIELÄ MILTÄ POIMINTA NÄYTTÄÄ...
dataset_kunta_190620

#LUETAAN KOONTI TAKAISIN, MIKÄLI TARVITSET VANHOJA FILUJA....
dataset_kunta_040520 <- read.delim("C:/...TÄHÄN OMA.../dataset_kunta_040520_kunnittain.txt")
View(dataset_kunta_040520)

#ladataan taulut
#dbWriteTable(mydb, "dataset_kunta_040520", dataset_kunta_040520)
#dbWriteTable(mydb, "dataset_kunta_050520", dataset_kunta_050520)
#dbWriteTable(mydb, "dataset_kunta_060520", dataset_kunta_060520)
#dbWriteTable(mydb, "dataset_kunta_070520", dataset_kunta_070520)
#dbWriteTable(mydb, "dataset_kunta_080520", dataset_kunta_080520)
#dbWriteTable(mydb, "dataset_kunta_090520", dataset_kunta_090520)
#dbWriteTable(mydb, "dataset_kunta_100620", dataset_kunta_100620)
#dbWriteTable(mydb, "dataset_kunta_130520", dataset_kunta_130520)
#dbWriteTable(mydb, "dataset_kunta_010620", dataset_kunta_010620)
dbWriteTable(mydb, "dataset_kunta_190620", dataset_kunta_190620)

#LUODAAN NÄKYMÄ (VIEW) JA TEHDÄÄN VERTAILU EDELLISPÄIVÄÄN

dbExecute(mydb, 'CREATE VIEW dataset_sortattu_kunta_190620a AS SELECT a.label, a.Tapauksia as Tartunnat_190620, b.Tapauksia as Tartunnat_180620, (a.Tapauksia)-(b.Tapauksia) as Lisäys
FROM dataset_kunta_190620 a   
LEFT JOIN dataset_kunta_180620 b 
ON a.label = b.label ORDER BY Lisäys DESC')

#View(dataset_sortattu_kunta_190620)

#TOIMII MUTTA ANTAA SAMAN SARAKDATAN KUIN TÄMÄN PÄIVÄN TUTKI TUTKI
rsa <- dbSendQuery(mydb, 'SELECT * FROM dataset_sortattu_kunta_190620a ORDER BY Lisäys DESC')
dbFetch(rsa)

Ladataan vielä päiväkohtainen data ie. tartunnat päivittäin.

#“An inefficient virus kills its host. A clever virus stays with it.”
#—James Lovelock

#-----------------------------------------
#PÄIVITTÄIN
#----------------------------------------
#Paketti datan editoimiseen ja visualisointiin
 library(tidyverse)
#Paketti datan lukemiseen
 library(jsonlite)
library(sqldf)
library(DBI)
#Luetaan aineisto sisään
 aineisto <- fromJSON("https://sampo.thl.fi/pivot/prod/fi/epirapo/covid19case/fact_epirapo_covid19case.json?column=dateweek2020010120201231-443702L")

#puretaan kategoriat paloiksi
 label <- as.data.frame(unlist(aineisto$dataset$dimension$dateweek$category$label))
 index <- as.data.frame(unlist(aineisto$dataset$dimension$dateweek$category$index))
  
 #Nimetään palaset
 names(label)<-"label"
 names(index)<-"index"
  
 #Laitetana vielä rivinumerot sarakkeiksi, jotta nämä saadaan yhteen.
 label<-rownames_to_column(label)
 index<-rownames_to_column(index)
  
 #Yhdistetään rivinimeä käyttäen
 kategoriat <- index %>% left_join(label,by="rowname")
 
 #otetaan data
 data <- as.data.frame(unlist(aineisto$dataset$value))
 
 #Nimetään
 names(data)<-"Tapauksia"
 data<-rownames_to_column(data)
 data$rowname<-as.numeric(data$rowname)
 
#Yhdistetään muuhun aineistoon
dataset_day_190620  <- kategoriat %>% left_join(data,by=c("index"="rowname"))

dataset_day_190620

#TALLENNETAAN TIEDOT KANSIOON...

write.table(dataset_day_190620, file = "C:/..TÄHÄN OMA TIEDOSTOSIJAINTISI.../dataset_day_190620_paivittain.txt", sep = "\t", col.names = NA, qmethod = "double")


Copyright MySci 2025
Tech Nerd theme designed by Siteturner