私は簡単なことをしようとしていますが、ちょっとした挑戦を証明していますので、誰かが助けてくれることを願っています!
私は温度の観測値の時系列を持っている:平均月数とローリングデータに基づく値の差
Lines <-"1971-01-17 298.9197
1971-01-17 298.9197
1971-02-16 299.0429
1971-03-17 299.0753
1971-04-17 299.3250
1971-05-17 299.5606
1971-06-17 299.2380
2010-07-14 298.7876
2010-08-14 298.5529
2010-09-14 298.3642
2010-10-14 297.8739
2010-11-14 297.7455
2010-12-14 297.4790"
DF <- read.table(textConnection(Lines), col.names = c("Date", "Value"))
DF$Date <- as.Date(DF$Date)
mean.ts <- aggregate(DF["Value"], format(DF["Date"], "%m"), mean)
これが生成します。
> mean.ts
Date Value
1 01 1.251667
2 02 1.263333
これは単なる一例である - 私は完全な毎月の平均値を計算することができますので、私のデータは長年のですデータの
私がしたいことは、1月のすべての(個別に)上記で計算した1月の平均との差を計算することです。
私は、私はいくつかのループでこれを行うことができます日付/時刻のクラスを使用してから離れるが、私はRでこれを行うには、「きちんとした」方法があるかどうかを確認したい場合は?何か案は?
私はあなたのコードを少しきれいにしましたが、 'mean.ts'が(つまり1をちょうど上回る)ということを得ることはできません。 – James
小さなチップ。 2.14以降、 'read.table'には' text'引数があります。 –
あなたは 'as.POSIXlt(DF [[" Date "]])$ mon'を使うこともできましたが、 'format'はもっと簡単です。 –