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 に答える