5

フレームの各列の値を週ごとに合計したい。平均はできますが、何らかの理由で合計が機能しません。

> zoo.data <- zoo(data.frame(x=11:20,y=1:10),as.Date(1:10,origin="1970-01-01"))
> apply.weekly(zoo.data, mean)
            x y
1970-01-04 12 2
1970-01-11 17 7
> apply.weekly(zoo.data, sum)
1970-01-04 1970-01-11 
        42        168 

どうしたの?

4

1 に答える 1

8

これは、xtsmean.xtsの作成者がベース R の古い動作を模倣するメソッドを追加することを決定したという事実の結果です (これは本質的に ですcolMeans)。 の代わりにオブジェクトにmean.xtsディスパッチされるようになり、一時的にオブジェクトを内部的に に変換します。xtsmean.defaultapply.weeklyzooxts

R> apply.weekly(zoo.data, mean)
            x y
1970-01-04 12 2
1970-01-11 17 7
R> apply.weekly(zoo.data, mean.default)
1970-01-04 1970-01-11 
         7         12 

しかし、これはあなたがやりたいことだと思います:

R> apply.weekly(zoo.data, colMeans)
            x y
1970-01-04 12 2
1970-01-11 17 7
R> apply.weekly(zoo.data, colSums)
             x  y
1970-01-04  36  6
1970-01-11 119 49
于 2012-12-09T23:03:16.417 に答える