Voici quelques possibilités selon ce que vous voulez. Les deux font usage de trunc.times
du paquet chron
. La solution aggregate.zoo
prend la dernière valeur dans chaque intervalle de 15 minutes et l'étiquette en utilisant l'heure au début de l'intervalle de 15 minutes, les temps utilisés sont donc: 00:00:00
, 00:15:00
, 00:30:00
et 00:45:00
. La solution duplicated
utilise les mêmes valeurs mais les marque en fonction de la dernière heure réellement trouvée dans les données. Dans les deux cas, nous incluons uniquement les intervalles pour lesquels des données sont présentes.
Il y a d'autres exemples de aggregate.zoo
dans (1) ?aggregate.zoo
, (2) les trois vignettes de zoo ont des exemples et (3) la recherche des archives r-aide pour les mots aggregate.zoo
et trunc
retrouve des exemples encore plus.
library(zoo)
library(chron)
z <- zoo(1:10, chron(1:10/(24*13)))
# 1. last value in each 15 minute interval
# using time at which interval begins
aggregate(z, trunc(time(z), "00:15:00"), tail, 1)
# 2. last value in each 15 minute interval
# time of last point in data within interval
z[!duplicated(trunc(time(z), "00:15:00"), fromLast = TRUE)]
@ user425895: Faites-nous tous une faveur, et votez et acceptez les réponses. À l'heure actuelle, vous n'êtes pas un bon citoyen de SO. – Shane