2012-05-08 10 views
0

私はこのような毎日の天気予報を持っています。 私が望むのは、最大、最小、観測温度の月平均を計算し、これらの3本の線をプロットすることです。。私はtapplyがうまく機能することを見つける毎月平均を計算するには?

Date  Max.Temp Min.Temp Temp Date  Year Month Week Weekday 
6/3/2010 87  63  63 2010-06-03 2010 6  22 4 
6/4/2010 83  63  73 2010-06-04 2010 6  22 5 
+3

あなたは小さな再現性の例のデータセットを提供することはできますか? – Dason

+1

サンプルデータの画像へのリンクを削除したように見えて、最初の行のフォーマットが不適切なバージョンを投稿したようです。また、実際の質問を完全に削除しました。まともな回答を受けたい場合は、質問を更新してください。 – Dason

+0

ありがとう、これは私の最初の質問です。残念です。 – EskimoT

答えて

3

Date = as.POSIXlt(Weather2011$Date, format = "%m/%d/%Y") 
Year = as.numeric(format(Date, format = "%Y")) 
Month = as.numeric(format(Date, format = "%m")) 
Week = as.numeric(format(Date, format = "%U")) 
Weekday = as.numeric(format(Date, format = "%w")) 

Weather2011次のようになります。私はすでにこのような日付形式が変換されます。 Ex。

x <- seq(from=as.Date("2000-01-01"), to=as.Date("2004-12-31"), by="day") 
y <- sin(seq(from=0, to=2*pi*5,length.out=length(x)))+rnorm(length(x)) 
yyyymm <- paste(format(as.POSIXlt(x), format="%Y-%m"), "01", sep="-") 
MEAN <- tapply(y, yyyymm, mean) 
MAX <- tapply(y, yyyymm, max) 
MIN <- tapply(y, yyyymm, min) 
#plots 
x11() 
par(mfcol=c(1,2)) 
plot(x,y, ylim=range(MEAN, MAX, MIN), ylab="", xlab="") 
plot(as.POSIXlt(names(MEAN)), MEAN, t="l", ylim=range(MEAN, MAX, MIN), ylab="", xlab="") 
lines(as.POSIXlt(names(MEAN)), MAX, lty=2) 
lines(as.POSIXlt(names(MEAN)), MIN, lty=2) 

enter image description here

関連する問題