StanicR17 / APPR-2019-20

Repozitorij z gradivi za predmet Analiza podatkov s programom R v študijskem letu 2019/20
MIT License
0 stars 0 forks source link

Uvoz tabele #2

Open StanicR17 opened 4 years ago

StanicR17 commented 4 years ago

Excelov dokument ima "dvojno glavo", kjer zgornja vrstica zajema več vrstic in nevem, kako bi to uredil v lepo obliko.

katarinabrilej commented 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)