Open StanicR17 opened 4 years ago
Kot vidim ima excelova datoteka dve končnici, vendar je pravilna samo druga, tako da moraš datoteko shraniti kot
stevilo_pimerov_SLO.xlsx
(lahko še popraviš pimerov v primerov). Potem se uvoza excelovega dokumenta lotiš s knjižnico readxl
in funkcijo read_excel
.
Vidim, da imaš podano dnevno in skupno število testiranj, vendar skupnega ne potrebuješ v končni tabeli, saj lahko to številko izračunaš iz dnevnega števila testiranj. Preostale podatke pa lahko razbiješ v več tabel, saj so ti dokaj različni med seboj, nekje se recimo ločuje po spolu, drugje pa ne. Rutinsko testiranje in nacionalno raziskavo lahko tudi pustiš skupaj v eni tabeli, je pa podatkov za nacionalno raziskavo dokaj malo, tako da ne vem, koliko bodo sploh prav prišli za analizo in boš mora rabil samo tabelo za rutinsko testiranje.
library(readxl)
library(tidyr)
# preberemo podatke
podatki <- read_excel("podatki/stevilo_pimerov_SLO.xlsx", sheet = "Potrjeni primeri", skip = 1, col_names = TRUE)
# izbrišemo nepotrebne stolpce
podatki <- podatki[,-c(3,5,8:11)]
colnames(podatki) <- c("datum.prijave", "rutinsko.dnevno", "raziskava.dnevno", "moski", "zenske")
# spremenimo obliko datumov kot so v excelu
datumi <- podatki[2:nrow(podatki),]$datum.prijave
novi.datumi <- as.Date(as.numeric(datumi), origin = "1899-12-30")
podatki[2:nrow(podatki),1] <- as.character(novi.datumi)
rutinsko.testiranje <- podatki[,c(1,2)]
colnames(rutinsko.testiranje) <- c("datum.prijave", "dnevno.stevilo.testiranj")
nacionalna.raziskava <- podatki[,c(1,3)]
colnames(nacionalna.raziskava) <- c("datum.prijave", "dnevno.stevilo.testiranj")
# lahko pa obe tabeli skupaj
testiranje <- podatki[,1:3]
colnames(testiranje) <- c("datum.prijave", "rutinsko.testiranje", "nacionalna.raziskava")
testiranje <- gather(testiranje, key = "tip", value = "dnevno.stevilo", - datum.prijave)
potrjeni.primeri.dnevno <- podatki[2:nrow(podatki),c(1,4:5)]
colnames(potrjeni.primeri.dnevno) <- c("datum.prijave", "moski", "zenske")
potrjeni.primeri.dnevno <- gather(potrjeni.primeri.dnevno, key = "spol", value = "dnevno.stevilo", - datum.prijave)
Excelov dokument ima "dvojno glavo", kjer zgornja vrstica zajema več vrstic in nevem, kako bi to uredil v lepo obliko.