Modérateur : Groupe des modérateurs
Code : Tout sélectionner
donnees <- data.frame(
heure = as.POSIXct(c("2021-04-14 09:40", "2021-04-14 09:50", "2021-04-14 10:30", "2021-04-14 11:00")),
debit = c(10, 100, 1000, 10),
resultat = c(10, 55, 370, 505)
)
donnees
#> heure debit resultat
#> 1 2021-04-14 09:40:00 10 10
#> 2 2021-04-14 09:50:00 100 55
#> 3 2021-04-14 10:30:00 1000 370
#> 4 2021-04-14 11:00:00 10 505
Code : Tout sélectionner
tps_dernier <- c(10, 40, 30)
Code : Tout sélectionner
vapply(
seq_along(tps_dernier),
function(n) {
precedents <- rev(tps_dernier[1:n])
sum(cumsum(precedents) < 60)
},
FUN.VALUE = integer(1)
)
#> [1] 1 2 1
Code : Tout sélectionner
library(dplyr)
library(RcppRoll)
donnees<-donnees %>% complete(heure=seq.POSIXt(min(donnees$heure),max(donnees$heure),"2 min")) %>%
mutate(resultat=roll_meanr(debit,n=30,na.rm=T)) %>% filter(!is.na(debit))
Code : Tout sélectionner
donnees <- data.frame(
heure = as.POSIXct(c("2021-04-14 09:40", "2021-04-14 09:50", "2021-04-14 10:30", "2021-04-14 11:00")),
debit = c(10, 100, 1000, 10),
resultat = c(10, 55, 370, 505)
)
res <- numeric(nrow(donnees))
for (i in seq_along(res))
res[i] <- mean(donnees$debit[donnees$heure <= (donnees$heure[i]) & donnees$heure > donnees$heure[i]-3600])
donnees$resultat <- res
Retourner vers « Questions en cours »
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité