library(tidyverse) sensor=read_csv("http://minitorn.tlu.ee/~jaagup/oma/too/18/04/sensorlugeja.php?kogus=20") sensor$niiskus %>% mean() sensor$niiskus pikkus=12 sapply(1:(length(sensor$niiskus)-(pikkus-1)), function(nr){mean(sensor$niiskus[nr:(nr+pikkus-1)])}) nr=1 sensor$niiskus[nr:(nr+3)] keskniiskus=sapply(1:(length(sensor$niiskus)-(pikkus-1)), function(nr){mean(sensor$niiskus[nr:(nr+pikkus-1)])}) d2=tibble(niiskus=sensor$niiskus[1:length(keskniiskus)], keskniiskus=keskniiskus) %>% mutate(reanr=row_number()) ?gather d2 %>% gather("tunnus", "sisu", niiskus, keskniiskus) d2 %>% pivot_longer(c(niiskus, keskniiskus), names_to="tunnnus", values_to="sisu") d2 %>% gather("tunnus", "sisu", niiskus, keskniiskus) %>% ggplot(aes(reanr, sisu, color=tunnus))+geom_line() andmeridu=50000 aknapikkus=120 url=paste("http://minitorn.tlu.ee/~jaagup/oma/too/18/04/", "sensorlugeja.php?kogus=",andmeridu, sep="") sensor=read_csv(url) %>% drop_na() keskniiskus=sapply(1:(length(sensor$niiskus)-(aknapikkus-1)), function(nr){mean(sensor$niiskus[nr:(nr+aknapikkus-1)])}) d2=tibble(niiskus=sensor$niiskus[1:length(keskniiskus)], keskniiskus=keskniiskus) %>% mutate(reanr=row_number()) d2 %>% gather("tunnus", "sisu", niiskus, keskniiskus) %>% mutate(tunnus=factor(tunnus, levels=c("niiskus", "keskniiskus"))) %>% ggplot(aes(reanr, sisu, color=tunnus))+geom_line()+ scale_color_manual(name="mõõtmised", values=c("niiskus"="green", "keskniiskus"="red")) #Täiendage näidet nõnda, et samal joonisel oleks nii õhuniiskuse #kui temperatuuri väärtused ja libisevad keskmised andmeridu=500000 aknapikkus=120 url=paste("http://minitorn.tlu.ee/~jaagup/oma/too/18/04/", "sensorlugeja.php?kogus=",sprintf("%d", andmeridu), sep="") sensor=read_csv(url) %>% drop_na() keskniiskus=sapply(1:(length(sensor$niiskus)-(aknapikkus-1)), function(nr){mean(sensor$niiskus[nr:(nr+aknapikkus-1)])}) kesktemp=sapply(1:(length(sensor$niiskus)-(aknapikkus-1)), function(nr){mean(sensor$temperatuur[nr:(nr+aknapikkus-1)])}) d2=tibble(niiskus=sensor$niiskus[1:length(keskniiskus)], keskniiskus=keskniiskus, temperatuur=sensor$temperatuur[1:length(keskniiskus)], kesktemperatuur=kesktemp) %>% mutate(reanr=row_number()) d2 %>% gather("tunnus", "sisu", niiskus, keskniiskus, temperatuur, kesktemperatuur) %>% mutate(tunnus=factor(tunnus, levels= c("niiskus", "keskniiskus", "temperatuur", "kesktemperatuur"))) %>% ggplot(aes(reanr, sisu, color=tunnus))+geom_line()+ scale_color_manual(name="mõõtmised", values=c("niiskus"="lightblue", "keskniiskus"="blue", "temperatuur"="orange", "kesktemperatuur"="red")) sensor %>% ggplot(aes(aeg, temperatuur))+geom_line() sensor=read_csv("http://minitorn.tlu.ee/~jaagup/oma/too/18/04/sensorlugeja.php?kogus=20") sensor$aeg[1] [1] "2020-10-08 14:17:09 UTC" > class(sensor$aeg[1]) [1] "POSIXct" "POSIXt" > months(sensor$aeg[1]) [1] "oktoober" > ?months > weekdays(sensor$aeg[1]) [1] "neljapäev" > quarters(sensor$aeg[1]) [1] "Q4" > julian(sensor$aeg[1]) Time difference of 18543.6 days > ?format > format(sensor$aeg[1], "%S") [1] "09" > sensor$aeg[1] [1] "2020-10-08 14:17:09 UTC" > format(sensor$aeg[1], "%M") [1] "17" > format(sensor$aeg[1], "%m") [1] "10" > format(sensor$aeg[1], "%Y") [1] "2020" > format(sensor$aeg[1], "%y") [1] "20" > as.numeric(format(sensor$aeg[1], "%Y")) [1] 2020 > sensor sensor["minutid"]=format(sensor$aeg, "%M") sensor=read_csv("http://minitorn.tlu.ee/~jaagup/oma/too/18/04/sensorlugeja.php?kogus=200000") sensor %>% group_by(kuu) %>% drop_na() %>% summarise(ktemp=mean(temperatuur)) sensor %>% ggplot(aes(aeg, temperatuur))+geom_line() sensor["kuupaev"]=format(sensor$aeg, "%d") sensor %>% ggplot(aes(kuupaev, temperatuur, color=kuu)) + geom_line() sensor["kuupaev"]=format(sensor$aeg, "%d") sensor["kuu"]=format(sensor$aeg, "%m") sensor %>% ggplot(aes(kuupaev, temperatuur)) + geom_line()+ facet_wrap(~kuu) sensor=read_csv("http://minitorn.tlu.ee/~jaagup/oma/too/18/04/sensorlugeja.php?kogus=2000000") > sensor["tund"]=format(sensor$aeg, "%H") %>% as.numeric() > sensor["paevaosa"]=ifelse(sensor["tund"]>6 & sensor["tund"]<=18, "päev", "öö") sensor %>% ggplot(aes(kuupaev, temperatuur)) + geom_line()+ facet_grid(paevaosa~kuu) sensor %>% filter(kuu==10, kuupaev %in% c("06", "07")) %>% sample_n(10) sensor %>% filter(kuu==10, kuupaev %in% c("06", "07")) %>% group_by(kuupaev, tund) %>% summarise(kt=mean(temperatuur)) sensor %>% filter(kuu==10, kuupaev %in% c("06", "07")) %>% group_by(kuupaev, tund) %>% summarise(kt=mean(temperatuur)) %>% ggplot(aes(tund, kt, fill=kuupaev))+geom_col(position = position_dodge()) # paigutage facet_wrap abil kahe kuupäeva andmed eraldi joonistele sensor %>% filter(kuu==10, kuupaev %in% c("06", "07")) %>% group_by(kuupaev, tund) %>% summarise(kt=mean(temperatuur)) %>% ggplot(aes(tund, kt, fill=kuupaev))+geom_col(position = position_dodge()) + facet_wrap(~kuupaev, nrow = 2) anim <- ggplot(iris, aes(Sepal.Width, Petal.Width)) + geom_point() + labs(title = "{closest_state}") + transition_states(Species, transition_length = 3, state_length = 1) print(anim) library(gganimate) sensor %>% filter(kuu==10, kuupaev %in% c("06", "07")) %>% group_by(kuupaev, tund) %>% summarise(kt=mean(temperatuur)) %>% ggplot(aes(tund, kt))+geom_col()+ labs(title = "{closest_state}") + transition_states(kuupaev, transition_length=3, state_length=1) #Koostage sama joonis juuli, augusti ja septembri #tunni keskmiste temperatuuridega #sensor["kuu"]=months(sensor$aeg) sensor["kuu"]=format(sensor$aeg, "%m") sensor["tund"]=format(sensor$aeg, "%H") sensor %>% drop_na() %>% # mutate(kuu, factor(kuu, levels=c("jaanuar", "veebruar", "märts", "aprill", # "mai", "juuni", "juuli", "august", "september"))) %>% group_by(kuu, tund) %>% summarise(kt=mean(temperatuur)) %>% ggplot(aes(tund, kt))+geom_col()+ labs(title = "{closest_state}") + transition_states(kuu, transition_length=3, state_length=1) #Võimalusel lisage ka tunni max ja min temperatuur