我有一个动物园系列。它持续10年,频率为15分钟。
我想获得一个具有相同数量元素的新动物园系列(或矢量),每个元素等于当天的第一个元素。也就是说,每天的第一个元素整天都在重复。
这与 aggregate(originalseries,as.Date,head,1) 不同,因为它给出了一个向量,每天只有一个元素。
干杯
我得到了几个答案:
library(zoo)
library(chron)
#1
zz <- z <- zoo(1:10, chron(0:9/5))
zz[] <- ave(coredata(z), as.Date(time(z)), FUN = function(x) head(x, 1))
cbind(z, zz)
#2
z <- zoo(1:10, chron(0:9/5))
z.ag <- aggregate(z, as.Date, head, 1)
na.locf(z.ag, xout = time(z))
#3
z.na <- ifelse.zoo(!duplicated(as.Date(time(z))), z, NA)
na.locf(z.na)
干杯