这听起来可能微不足道,但我想知道如何使用 xts 对象创建循环。例如我有:
make<-rbind(mean(x['199901']),
mean(x['199902']),
mean(x['199903']),
mean(x['199904']),
mean(x['199905']),
mean(x['199906']))
x
是一个 xts 对象,我想从中提取每月的平均值。
我认为您应该使用period.apply
这里的示例来计算每个月的平均值
zoo.data <- xts(rnorm(31)+10,as.Date(13514:13744,origin="1970-01-01"))
ep <- endpoints(zoo.data,'months')
period.apply(zoo.data, INDEX=ep, FUN=function(x) mean(x))
因此,仅在前 6 个月内获得此信息:
period.apply(zoo.data, INDEX=ep[1:6], FUN=function(x) mean(x))
这个函数还有一些包装器,比如:
apply.daily(x, FUN, ...)
apply.weekly(x, FUN, ...)
apply.monthly(x, FUN, ...)
apply.quarterly(x, FUN, ...)
apply.yearly(x, FUN, ...