3

这听起来可能微不足道,但我想知道如何使用 xts 对象创建循环。例如我有:

make<-rbind(mean(x['199901']),
        mean(x['199902']),
        mean(x['199903']),
        mean(x['199904']),
        mean(x['199905']),
        mean(x['199906']))

x是一个 xts 对象,我想从中提取每月的平均值。

4

1 回答 1

4

我认为您应该使用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, ...
于 2013-03-13T11:56:43.880 回答