毎日のデータを平均して毎週のデータにする方法があるかどうか疑問に思っています。CADaily と呼ぶデータフレームは次のようになります。
> CADaily[1:10, ]
Climate_Division Date Rain
885 1 1948-07-01 0.8750000
892 1 1948-07-02 2.9166667
894 1 1948-07-03 0.7916667
895 1 1948-07-04 0.4305556
898 1 1948-07-05 0.8262061
901 1 1948-07-06 0.5972222
904 1 1948-07-17 0.04166667
905 1 1948-07-18 0.08333333
907 1 1948-07-20 0.04166667
909 1 1948-07-22 0.12500000
910 1 1948-07-21 NA
私の目的は、日付 (もちろん) と Climate_Division (1 から 7 の範囲) に基づいて、毎日の雨の平均を毎週の雨の値に求める集計関数に似ています。私はオンラインで検索していましたが、使用できるコードに出くわしましたが、私の目的とはまったく一致しませんでした:
apply.weekly(xts(CADaily[,-2], order.by= CADaily[,2]), FUN = mean)
これは私がやりたいことですが、私の列 Climate_Division も平均化されています。私は単純に Rain のみを平均化し、Climate_Division に続いて Date に基づいて並べ替えたいと思います。次のようにできる方法はありますか?
aggregate(CADaily, by =list(CADaily$Climate_Division, CADaily$Date), FUN = mean, na.rm = TRUE)
日付は週の形式ですか? それとも別の方法がありますか?
編集:
親愛なるみんな、
ご協力ありがとうございました。おそらく、私が当初考えていたように、集計を使用することはこれを行うための最良の方法ではありませんでした. 出力に関しては、データの年月 (1948 年から 1995 年) を通して、週ごとの降水量の平均を取得したかったのです。つまり、週の終わりの日付の形式を持つ時系列に入力できる、優れた形式を取得したかったのです。私が探している出力 (NA 値が存在する可能性があることに注意してください) は次のとおりです。
Climate_Division Date Rain
1 1948-07-03 1.527778
1 1948-07-10 0.6179946
1 1948-07-17 0.04166667
1 1948-07-24 0.08333333
...
1 1995-12-23 0.24513245
1 1995-12-30 0.12450545
または、日付で表される週単位のデータを表現するより良い方法はありますか?
ご協力ありがとうございました。