【问题标题】:Creating loops with xts使用 xts 创建循环
【发布时间】:2013-03-01 08:00:53
【问题描述】:

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

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

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

【问题讨论】:

    标签: r loops xts


    【解决方案1】:

    我认为你应该使用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-09-04
    • 1970-01-01
    • 2020-08-19
    • 1970-01-01
    • 2019-04-28
    • 2019-08-19
    • 1970-01-01
    • 2021-10-08
    • 2018-03-17
    相关资源
    最近更新 更多