{"id":373,"date":"2020-06-19T12:42:13","date_gmt":"2020-06-19T12:42:13","guid":{"rendered":"http:\/\/science.ekqvist.fi\/blogi\/?p=373"},"modified":"2020-06-19T12:43:55","modified_gmt":"2020-06-19T12:43:55","slug":"covid19-tartunnat-ikaryhmittain-sukupuolittain-sairaanhoitopiireittain-ja-kunnittain-r-studio","status":"publish","type":"post","link":"https:\/\/science.ekqvist.fi\/blogi\/r-sample-code-with-data\/covid19-tartunnat-ikaryhmittain-sukupuolittain-sairaanhoitopiireittain-ja-kunnittain-r-studio\/","title":{"rendered":"COVID19 tartunnat ik\u00e4ryhmitt\u00e4in, sukupuolittain, sairaanhoitopiireitt\u00e4in ja kunnittain &#8211; R Studio"},"content":{"rendered":"\n<p>THL:n avoimen rajapinnan kautta p\u00e4\u00e4see lataamaan tartuntatautirekisterin tietoja suoraan alla olevan ohjeen mukaisesti. Alla listattuna tarvittavat R-kirjastot ja omina lis\u00e4yksin\u00e4ni SQL -lauseet haluttujen tietojen poimintaan. Kev\u00e4\u00e4n mittaan olen n\u00e4ist\u00e4 tehnyt p\u00e4ivitt\u00e4in koosteita mm. Twitteriin ja toistaiseksi toiminut moitteettomasti. El\u00e4k\u00f6\u00f6n avoinrajapinta.  <a rel=\"noreferrer noopener\" href=\"https:\/\/rstudio.com\/products\/rstudio\/download\/\" target=\"_blank\">R-ohjelman voit ladata R-studio versiona t\u00e4\u00e4lt\u00e4<\/a> tai sitten <a rel=\"noreferrer noopener\" href=\"https:\/\/mirrors.dotsrc.org\/cran\/\" target=\"_blank\">voit k\u00e4ytt\u00e4\u00e4 vaihtoehtoisesti t\u00e4t\u00e4<\/a> versiota.  <\/p>\n\n\n\n<p>Have fun with R!<\/p>\n\n\n\n<p>Marko<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#Koodausohje-esimerkki R-kielell\u00e4\n#T\u00e4ss\u00e4 esimerkiss\u00e4 haetaan THL:n rajapinnasta COVID-19-tapaukset ik\u00e4ryhmitt\u00e4in ja tehd\u00e4\u00e4n niist\u00e4 aineisto.\n\n#Paketti datan editoimiseen ja visualisointiin\nlibrary(tidyverse)\n#Paketti datan lukemiseen\nlibrary(jsonlite)\nlibrary(sqldf)\nlibrary(DBI)\nlibrary(data.table)\n\nHUOM VAIHDA AINA ENSIN P\u00c4IV\u00c4M\u00c4\u00c4R\u00c4\n#190620\n#100620\n\n#-----------------------------------------\n#IK\u00c4RYHMITT\u00c4IN\n#----------------------------------------\n\n#Paketti datan editoimiseen ja visualisointiin\nlibrary(tidyverse)\n#Paketti datan lukemiseen\nlibrary(jsonlite)\nlibrary(sqldf)\nlibrary(DBI)\nlibrary(readr)   # Read tabular data.\nlibrary(tidyr)   # Data frame tidying functions.\nlibrary(dplyr)   # General data frame manipulation.\nlibrary(ggplot2) # Flexible plotting.\nmydb &lt;- dbConnect(RSQLite::SQLite(), \"my-db.sqlite\")\n#dbDisconnect(mydb)\n#unlink(\"my-db.sqlite\")\n\n#otetaan edellisp\u00e4iv\u00e4n data talteen \n#Luetaan aineisto sis\u00e4\u00e4n\n aineisto &lt;- fromJSON(\"https:\/\/sampo.thl.fi\/pivot\/prod\/fi\/epirapo\/covid19case\/fact_epirapo_covid19case.json?column=ttr10yage-444309\")\n\n#puretaan kategoriat paloiksi\n label &lt;- as.data.frame(unlist(aineisto$dataset$dimension$ttr10yage$category$label))\n index &lt;- as.data.frame(unlist(aineisto$dataset$dimension$ttr10yage$category$index))\n  \n #Nimet\u00e4\u00e4n palaset\n names(label)&lt;-\"label\"\n names(index)&lt;-\"index\"\n  \n #Laitetana viel\u00e4 rivinumerot sarakkeiksi, jotta n\u00e4m\u00e4 saadaan yhteen.\n label&lt;-rownames_to_column(label)\n index&lt;-rownames_to_column(index)\n  \n #Yhdistet\u00e4\u00e4n rivinime\u00e4 k\u00e4ytt\u00e4en\n kategoriat &lt;- index %>% left_join(label,by=\"rowname\")\n \n #otetaan data\n data &lt;- as.data.frame(unlist(aineisto$dataset$value))\n data_old &lt;- as.data.frame(unlist(aineisto$dataset$value))\n \n #Nimet\u00e4\u00e4n\n names(data)&lt;-\"Tapauksia\"\n names(data_old)&lt;-\"Tapauksia_edellispvm\"\n\n data&lt;-rownames_to_column(data)\n data_old&lt;-rownames_to_column(data_old)\n\n data$rowname&lt;-as.numeric(data$rowname)\n data_old$rowname&lt;-as.numeric(data_old$rowname)\n\n \n#Yhdistet\u00e4\u00e4n muuhun aineistoon\n dataset_ir_190620 &lt;- kategoriat %>% left_join(data,by=c(\"index\"=\"rowname\"))\n dataset_ir_old &lt;- kategoriat %>% left_join(data_old,by=c(\"index\"=\"rowname\"))\n\ndataset_ir_190620\n\n\n#VIED\u00c4\u00c4N TULOKSET KANSIOON\n\nwrite.table(dataset_ir_190620, file = \"C:\/...LIS\u00c4\u00c4 T\u00c4H\u00c4N OMA POLKUSI\/dataset_ir_190620.txt\", sep = \"\\t\", col.names = NA, qmethod = \"double\")\n#katsotaan lopuksi tulokset\nView(dataset_ir_190620)\n\n#t\u00e4ss\u00e4 kohtaa voi olla tarvetta hakea aikaisempia tietoja ja se tehd\u00e4\u00e4n seuraavalla tavalla\n#LUETAAN KOONTI TAKAISIN\n\ndataset_ir_200520 &lt;- read.delim(\"C:\/Users\/marko\/Dropbox\/kuvat\/home\/Marko\/R\/koronadataa\/dataset_ir_200520.txt\")\nView(dataset_ir_200520)\n#vaihda p\u00e4iv\u00e4m\u00e4\u00e4r\u00e4, jotta saat halutun p\u00e4iv\u00e4n tiedot t\u00e4h\u00e4n vertailuun mukaan\n\n#t\u00e4m\u00e4 mik\u00e4li, et ole sit\u00e4 jo tehnyt....\nmydb &lt;- dbConnect(RSQLite::SQLite(), \"my-db.sqlite\")\n\n#ladataan taulut\ndbWriteTable(mydb, \"dataset_ir_140520\", dataset_ir_140520)\n\n#T\u00c4M\u00c4 JA EDELLINEN P\u00c4IV\u00c4 (muuta pvm tekstit oman tarpeesi mukaan)\nrsa &lt;- dbSendQuery(mydb, 'SELECT a.label, a.Tapauksia as Tapaukset_190620, b.Tapauksia as Tapaukset_180620, (a.Tapauksia)-(b.Tapauksia) as Muutos_lkm\nFROM dataset_ir_190620 a  \nLEFT JOIN dataset_ir_180620 b \nON a.label = b.label')\ndbFetch(rsa)\n\n#tai sitten vaikka n\u00e4in\n\n#RAJOITUSTEN PURUSTA T\u00c4H\u00c4N P\u00c4IV\u00c4\u00c4N \nrsa &lt;- dbSendQuery(mydb, 'SELECT a.label, a.Tapauksia as Tapaukset_190620, b.Tapauksia as Tapaukset_310520, (a.Tapauksia)-(b.Tapauksia) as Muutos_lkm\nFROM dataset_ir_190620 a  \nLEFT JOIN dataset_ir_310520 b \nON a.label = b.label')\ndbFetch(rsa)\n\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Alla esimerkki, miten tiedot haetaan sukupuolittain. <\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>#-----------------------------------------\n#SUKUPUOLITTAIN\n#----------------------------------------\n#Paketti datan editoimiseen ja visualisointiin\n library(tidyverse)\n#Paketti datan lukemiseen\nlibrary(jsonlite)\nlibrary(sqldf)\nlibrary(DBI)\n\nmydb &lt;- dbConnect(RSQLite::SQLite(), \"my-db.sqlite\")\n#dbDisconnect(mydb)\n#unlink(\"my-db.sqlite\")\n\n\n#Luetaan aineisto sis\u00e4\u00e4n\n aineisto &lt;- fromJSON(\"https:\/\/sampo.thl.fi\/pivot\/prod\/fi\/epirapo\/covid19case\/fact_epirapo_covid19case.json?column=sex-444328\")\n\n#puretaan kategoriat paloiksi\n label &lt;- as.data.frame(unlist(aineisto$dataset$dimension$sex$category$label))\n index &lt;- as.data.frame(unlist(aineisto$dataset$dimension$sex$category$index))\n  \n #Nimet\u00e4\u00e4n palaset\n names(label)&lt;-\"label\"\n names(index)&lt;-\"index\"\n  \n #Laitetana viel\u00e4 rivinumerot sarakkeiksi, jotta n\u00e4m\u00e4 saadaan yhteen.\n label&lt;-rownames_to_column(label)\n index&lt;-rownames_to_column(index)\n  \n #Yhdistet\u00e4\u00e4n rivinime\u00e4 k\u00e4ytt\u00e4en\n kategoriat &lt;- index %>% left_join(label,by=\"rowname\")\n \n #otetaan data\n data &lt;- as.data.frame(unlist(aineisto$dataset$value))\n \n #Nimet\u00e4\u00e4n\n names(data)&lt;-\"Tapauksia\"\n\n data&lt;-rownames_to_column(data)\n\n data$rowname&lt;-as.numeric(data$rowname)\n\n\n\n#Yhdistet\u00e4\u00e4n muuhun aineistoon\ndataset_sp_190620 &lt;- kategoriat %>% left_join(data,by=c(\"index\"=\"rowname\"))\n\ndataset_sp_190620\n\nwrite.table(dataset_sp_190620, file = \"C:\/....T\u00c4H\u00c4N OMA TIEDOSTOSIJAINTISI TULOSTIEDOSTOILLE...\/dataset_sp_190620_sukupuolittain.txt\", sep = \"\\t\", col.names = NA, qmethod = \"double\")\n\n#LUETAAN KOONTI TAKAISIN (MIK\u00c4LI TARVETTA...) HUOM. T\u00c4M\u00c4 ON VAIN MALLI...\ndataset_sp_190620 &lt;- read.delim(\"C:\/..T\u00c4H\u00c4N OMA TIEDOSTOSIJAINTISI...\/dataset_sp_190620_sukupuolittain.txt\")\nView(dataset_sp_190620)\n\n#ladataan taulut\ndbWriteTable(mydb, \"dataset_sp_190620\", dataset_sp_190620)\n\n#TOIMII\nrsa &lt;- dbSendQuery(mydb, 'SELECT a.label, a.Tapauksia as Tapaukset_190620, b.Tapauksia as Tapaukset_180620, (a.Tapauksia)-(b.Tapauksia) as Ero_eiliseen\nFROM dataset_sp_190620 a  \nLEFT JOIN dataset_sp_180620 b \nON a.label = b.label')\ndbFetch(rsa)\n\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Seuraavaksi katsotaan, miten saadaan ladattua tiedot sairaanhoitopiireitt\u00e4in. <\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>#-----------------------------------------\n#SAIRAANHOITOPIIREITT\u00c4IN\n#----------------------------------------\n#Paketti datan editoimiseen ja visualisointiin\n library(tidyverse)\n#Paketti datan lukemiseen\n library(jsonlite)\nlibrary(sqldf)\nlibrary(DBI)\nmydb &lt;- dbConnect(RSQLite::SQLite(), \"my-db.sqlite\")\n#Luetaan aineisto sis\u00e4\u00e4n\n aineisto &lt;- fromJSON(\"https:\/\/sampo.thl.fi\/pivot\/prod\/fi\/epirapo\/covid19case\/fact_epirapo_covid19case.json?column=hcdmunicipality2020-445222\")\n\n#puretaan kategoriat paloiksi\n label &lt;- as.data.frame(unlist(aineisto$dataset$dimension$hcdmunicipality$category$label))\n index &lt;- as.data.frame(unlist(aineisto$dataset$dimension$hcdmunicipality$category$index))\n  \n #Nimet\u00e4\u00e4n palaset\n names(label)&lt;-\"label\"\n names(index)&lt;-\"index\"\n  \n #Laitetana viel\u00e4 rivinumerot sarakkeiksi, jotta n\u00e4m\u00e4 saadaan yhteen.\n label&lt;-rownames_to_column(label)\n index&lt;-rownames_to_column(index)\n  \n #Yhdistet\u00e4\u00e4n rivinime\u00e4 k\u00e4ytt\u00e4en\n kategoriat &lt;- index %>% left_join(label,by=\"rowname\")\n \n #otetaan data\n data &lt;- as.data.frame(unlist(aineisto$dataset$value))\n \n  #Nimet\u00e4\u00e4n\n names(data)&lt;-\"Tapauksia\"\n names(data_old)&lt;-\"Tapauksia_edellispvm\"\n data&lt;-rownames_to_column(data)\n data_old&lt;-rownames_to_column(data_old)\n data$rowname&lt;-as.numeric(data$rowname)\n data_old$rowname&lt;-as.numeric(data_old$rowname)\n \n#Yhdistet\u00e4\u00e4n muuhun aineistoon\ndataset_shp_190620 &lt;- kategoriat %>% left_join(data,by=c(\"index\"=\"rowname\"))\n#dataset &lt;- kategoriat %>% left_join(data,by=c(\"index\"=\"rowname\"))\n\ndataset_shp_190620\n#plot(dataset_shp_190620)\n\nwrite.table(dataset_shp_190620, file = \"C:\/...T\u00c4H\u00c4N OMA TIEDOSTOSIJAINTISI...\/dataset_shp_190620_shp.txt\", sep = \"\\t\", col.names = NA, qmethod = \"double\")\n\n#ja jos on tarvetta niin ladataan vanhaa dataa n\u00e4in...\n#LUETAAN KOONTI TAKAISIN\ndataset_shp_050520 &lt;- read.delim(\"C:\/...T\u00c4H\u00c4N OMA TIEDOSTOSIJAINTISI...\/dataset_shp_050520_shp.txt\")\nView(dataset_shp_050520)\n\n#ladataan taulut (jos tarvetta...)\n#dbWriteTable(mydb, \"dataset_shp_050520\", dataset_shp_050520)\n#t\u00e4m\u00e4 t\u00e4ytyy kyll\u00e4 tehd\u00e4, jotta alla oleva kysely saadaan toimimaan...\ndbWriteTable(mydb, \"dataset_shp_190620\", dataset_shp_190620)\n\n#EILISEEN VERRATTUNA\nrsa &lt;- dbSendQuery(mydb, 'SELECT a.label, a.Tapauksia as Tartunnat_190620, b.Tapauksia as Tartunnat_180620, (a.Tapauksia)-(b.Tapauksia) as Ero_edellisp\u00e4iv\u00e4\u00e4n\nFROM dataset_shp_190620 a  \nLEFT JOIN dataset_shp_180620 b \nON a.label = b.label')\ndbFetch(rsa)\n\n#RAJOITUSTEN H\u00d6LLENT\u00c4MINEN 1.6. L\u00c4HTIEN\nrsa &lt;- dbSendQuery(mydb, 'SELECT a.label, a.Tapauksia as Tartunnat_190620, b.Tapauksia as Tartunnat_310520, (a.Tapauksia)-(b.Tapauksia) as Muutos_31_5_l\u00e4htien\nFROM dataset_shp_190620 a  \nLEFT JOIN dataset_shp_310520 b \nON a.label = b.label')\ndbFetch(rsa)\n\n\n#RAJOITUSTEN POISTO - KOULUJEN AVAUS\nrsa &lt;- dbSendQuery(mydb, 'SELECT a.label, a.Tapauksia as Tartunnat_190620, b.Tapauksia as Tartunnat_130520, (a.Tapauksia)-(b.Tapauksia) as Muutos_13_5_l\u00e4htien\nFROM dataset_shp_190620 a  \nLEFT JOIN dataset_shp_130520 b \nON a.label = b.label')\ndbFetch(rsa)\n\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Kuntakohtaiseen dataan p\u00e4\u00e4see k\u00e4siksi alla olevan koodin kautta&#8230;.<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>#-----------------------------------------\n#KUNNITTAIN\n#----------------------------------------\n#Paketti datan editoimiseen ja visualisointiin\n library(tidyverse)\n#Paketti datan lukemiseen\n library(jsonlite)\nlibrary(sqldf)\nlibrary(DBI)\n#Luetaan aineisto sis\u00e4\u00e4n\n aineisto &lt;- fromJSON(\"https:\/\/sampo.thl.fi\/pivot\/prod\/fi\/epirapo\/covid19case\/fact_epirapo_covid19case.json?column=hcdmunicipality2020-445268L\")\n\n#puretaan kategoriat paloiksi\n label &lt;- as.data.frame(unlist(aineisto$dataset$dimension$hcdmunicipality$category$label))\n index &lt;- as.data.frame(unlist(aineisto$dataset$dimension$hcdmunicipality$category$index))\n  \n #Nimet\u00e4\u00e4n palaset\n names(label)&lt;-\"label\"\n names(index)&lt;-\"index\"\n  \n #Laitetana viel\u00e4 rivinumerot sarakkeiksi, jotta n\u00e4m\u00e4 saadaan yhteen.\n label&lt;-rownames_to_column(label)\n index&lt;-rownames_to_column(index)\n  \n #Yhdistet\u00e4\u00e4n rivinime\u00e4 k\u00e4ytt\u00e4en\n kategoriat &lt;- index %>% left_join(label,by=\"rowname\")\n \n #otetaan data\n data &lt;- as.data.frame(unlist(aineisto$dataset$value))\n \n #Nimet\u00e4\u00e4n\n names(data)&lt;-\"Tapauksia\"\n data&lt;-rownames_to_column(data)\n data$rowname&lt;-as.numeric(data$rowname)\n \n#Yhdistet\u00e4\u00e4n muuhun aineistoon\ndataset_kunta_190620 &lt;- kategoriat %>% left_join(data,by=c(\"index\"=\"rowname\"))\n\n\n#TALLENNETAAN OMAAN TIEDOSTOSIJAINTIIN MY\u00d6HEMP\u00c4\u00c4 K\u00c4YTT\u00d6\u00c4 VARTEN...\nwrite.table(dataset_kunta_190620, file = \"C:\/...T\u00c4H\u00c4N OMA TIEDOSTOSIJAINTI...\/dataset_kunta_190620_kunnittain.txt\", sep = \"\\t\", col.names = NA, qmethod = \"double\")\n\n#KATSOTAAN VIEL\u00c4 MILT\u00c4 POIMINTA N\u00c4YTT\u00c4\u00c4...\ndataset_kunta_190620\n\n#LUETAAN KOONTI TAKAISIN, MIK\u00c4LI TARVITSET VANHOJA FILUJA....\ndataset_kunta_040520 &lt;- read.delim(\"C:\/...T\u00c4H\u00c4N OMA...\/dataset_kunta_040520_kunnittain.txt\")\nView(dataset_kunta_040520)\n\n#ladataan taulut\n#dbWriteTable(mydb, \"dataset_kunta_040520\", dataset_kunta_040520)\n#dbWriteTable(mydb, \"dataset_kunta_050520\", dataset_kunta_050520)\n#dbWriteTable(mydb, \"dataset_kunta_060520\", dataset_kunta_060520)\n#dbWriteTable(mydb, \"dataset_kunta_070520\", dataset_kunta_070520)\n#dbWriteTable(mydb, \"dataset_kunta_080520\", dataset_kunta_080520)\n#dbWriteTable(mydb, \"dataset_kunta_090520\", dataset_kunta_090520)\n#dbWriteTable(mydb, \"dataset_kunta_100620\", dataset_kunta_100620)\n#dbWriteTable(mydb, \"dataset_kunta_130520\", dataset_kunta_130520)\n#dbWriteTable(mydb, \"dataset_kunta_010620\", dataset_kunta_010620)\ndbWriteTable(mydb, \"dataset_kunta_190620\", dataset_kunta_190620)\n\n#LUODAAN N\u00c4KYM\u00c4 (VIEW) JA TEHD\u00c4\u00c4N VERTAILU EDELLISP\u00c4IV\u00c4\u00c4N\n\ndbExecute(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\u00e4ys\nFROM dataset_kunta_190620 a   \nLEFT JOIN dataset_kunta_180620 b \nON a.label = b.label ORDER BY Lis\u00e4ys DESC')\n\n#View(dataset_sortattu_kunta_190620)\n\n#TOIMII MUTTA ANTAA SAMAN SARAKDATAN KUIN T\u00c4M\u00c4N P\u00c4IV\u00c4N TUTKI TUTKI\nrsa &lt;- dbSendQuery(mydb, 'SELECT * FROM dataset_sortattu_kunta_190620a ORDER BY Lis\u00e4ys DESC')\ndbFetch(rsa)<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Ladataan viel\u00e4 p\u00e4iv\u00e4kohtainen data ie. tartunnat p\u00e4ivitt\u00e4in. <\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>#\u201cAn inefficient virus kills its host. A clever virus stays with it.\u201d\n#\u2014James Lovelock\n\n#-----------------------------------------\n#P\u00c4IVITT\u00c4IN\n#----------------------------------------\n#Paketti datan editoimiseen ja visualisointiin\n library(tidyverse)\n#Paketti datan lukemiseen\n library(jsonlite)\nlibrary(sqldf)\nlibrary(DBI)\n#Luetaan aineisto sis\u00e4\u00e4n\n aineisto &lt;- fromJSON(\"https:\/\/sampo.thl.fi\/pivot\/prod\/fi\/epirapo\/covid19case\/fact_epirapo_covid19case.json?column=dateweek2020010120201231-443702L\")\n\n#puretaan kategoriat paloiksi\n label &lt;- as.data.frame(unlist(aineisto$dataset$dimension$dateweek$category$label))\n index &lt;- as.data.frame(unlist(aineisto$dataset$dimension$dateweek$category$index))\n  \n #Nimet\u00e4\u00e4n palaset\n names(label)&lt;-\"label\"\n names(index)&lt;-\"index\"\n  \n #Laitetana viel\u00e4 rivinumerot sarakkeiksi, jotta n\u00e4m\u00e4 saadaan yhteen.\n label&lt;-rownames_to_column(label)\n index&lt;-rownames_to_column(index)\n  \n #Yhdistet\u00e4\u00e4n rivinime\u00e4 k\u00e4ytt\u00e4en\n kategoriat &lt;- index %>% left_join(label,by=\"rowname\")\n \n #otetaan data\n data &lt;- as.data.frame(unlist(aineisto$dataset$value))\n \n #Nimet\u00e4\u00e4n\n names(data)&lt;-\"Tapauksia\"\n data&lt;-rownames_to_column(data)\n data$rowname&lt;-as.numeric(data$rowname)\n \n#Yhdistet\u00e4\u00e4n muuhun aineistoon\ndataset_day_190620  &lt;- kategoriat %>% left_join(data,by=c(\"index\"=\"rowname\"))\n\ndataset_day_190620\n\n#TALLENNETAAN TIEDOT KANSIOON...\n\nwrite.table(dataset_day_190620, file = \"C:\/..T\u00c4H\u00c4N OMA TIEDOSTOSIJAINTISI...\/dataset_day_190620_paivittain.txt\", sep = \"\\t\", col.names = NA, qmethod = \"double\")\n\n\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>THL:n avoimen rajapinnan kautta p\u00e4\u00e4see lataamaan tartuntatautirekisterin tietoja suoraan alla olevan ohjeen mukaisesti. Alla listattuna tarvittavat R-kirjastot ja omina lis\u00e4yksin\u00e4ni SQL -lauseet haluttujen tietojen poimintaan. Kev\u00e4\u00e4n mittaan olen n\u00e4ist\u00e4 tehnyt p\u00e4ivitt\u00e4in koosteita mm. Twitteriin ja toistaiseksi toiminut moitteettomasti. El\u00e4k\u00f6\u00f6n avoinrajapinta. R-ohjelman voit ladata R-studio versiona t\u00e4\u00e4lt\u00e4 tai sitten voit k\u00e4ytt\u00e4\u00e4 vaihtoehtoisesti t\u00e4t\u00e4 versiota. Have fun <a class=\"read-more-excerpt\" href=\"https:\/\/science.ekqvist.fi\/blogi\/r-sample-code-with-data\/covid19-tartunnat-ikaryhmittain-sukupuolittain-sairaanhoitopiireittain-ja-kunnittain-r-studio\/\">[&#8230;] Read More<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[77,23,66],"tags":[78,79],"_links":{"self":[{"href":"https:\/\/science.ekqvist.fi\/blogi\/wp-json\/wp\/v2\/posts\/373"}],"collection":[{"href":"https:\/\/science.ekqvist.fi\/blogi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/science.ekqvist.fi\/blogi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/science.ekqvist.fi\/blogi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/science.ekqvist.fi\/blogi\/wp-json\/wp\/v2\/comments?post=373"}],"version-history":[{"count":2,"href":"https:\/\/science.ekqvist.fi\/blogi\/wp-json\/wp\/v2\/posts\/373\/revisions"}],"predecessor-version":[{"id":375,"href":"https:\/\/science.ekqvist.fi\/blogi\/wp-json\/wp\/v2\/posts\/373\/revisions\/375"}],"wp:attachment":[{"href":"https:\/\/science.ekqvist.fi\/blogi\/wp-json\/wp\/v2\/media?parent=373"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/science.ekqvist.fi\/blogi\/wp-json\/wp\/v2\/categories?post=373"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/science.ekqvist.fi\/blogi\/wp-json\/wp\/v2\/tags?post=373"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}