--- title: '3' output: html_document --- ```{r} library(tidyverse) t1=read_csv("http://minitorn.tlu.ee/~jaagup/kool/java/kursused/17/r/naited/rahvusarhiiv/kuutulemused.txt") t2=t1 %>% select(kasutajanimi, contains("kuu")) gather(t2, tulp, vaartus, -kasutajanimi) gather(t2, tulp, vaartus, -kasutajanimi, na.rm=TRUE) #soovitav kuju #kasutajanimi kuunr aeg summa t3=select(t1, kasutajanimi, contains("summa")) t3 sub("kuu", "aasta", "kuu1summa") sub("kuu([0-9]{1,2})summa", "\\1", "kuu1summa") sub("kuu([0-9]{1,2})summa", "\\1", "kuu12summa") gather(t3, tulp, vaartus, -kasutajanimi) %>% mutate(kuunr=sub("kuu([0-9]{1,2})summa", "\\1", tulp)) %>% select(-tulp) %>% complete(vaartus) t2 %>% gather(tulp, kuusumma, contains("summa"), -kasutajanimi) summad=gather(t3, tulp, vaartus, -kasutajanimi) %>% mutate(kuunr=sub("kuu([0-9]{1,2})summa", "\\1", tulp)) %>% select(-tulp) ajad=select(t1, kasutajanimi, contains("aeg")) %>% gather(tulp, aeg, -kasutajanimi) %>% mutate(kuunr=sub("kuu([0-9]{1,2})aeg", "\\1", tulp)) %>% select(-tulp) ajad summad inner_join(ajad, summad) kuutulemused=inner_join(ajad, summad, by=c("kasutajanimi", "kuunr")) %>% complete(aeg) %>% complete(vaartus) #Koostage võimalikult lühike skript, mis loeb algsel kujul andmed #ning väljastab tulemused järjestatuna eurodes tunni kohta isikul #kasutajanimi kuu tunnimyyk t2 unite(t2, kuu1, kuu1aeg, kuu1summa) unite(t2, "kuu1", "kuu1aeg", "kuu1summa") nr=1 unite(t1, col=UQ(paste("kuu", nr, sep="")), paste("kuu", nr, "aeg",sep=""), paste("kuu", nr, "summa", sep="")) tu=t2 for(nr in 1:3){ tu=unite(tu, UQ(paste("kuu", nr, sep="")), paste("kuu", nr, "aeg",sep=""), paste("kuu", nr, "summa", sep="")) } tu gather(tu, kuu, andmed, -kasutajanimi) tu %>% gather(kuu, andmed, -kasutajanimi) gather(tu, kuu, andmed, -kasutajanimi) %>% separate(andmed, c("tunnid", "summa"), convert = TRUE) %>% complete(tunnid) tpikk=gather(tu, kuu, andmed, -kasutajanimi) %>% separate(andmed, c("tunnid", "summa"), convert = TRUE) %>% complete(tunnid) tpikk ajad spread(ajad, kuunr, aeg) spread(ajad, kuunr, aeg, fill = -1, sep = "k") ```