我正在對無序文件進行小時降水分析。不過,我設法把它清理乾淨,並將其存儲在數據框(稱爲CA1),它採用的形式如下:R中的時間序列和stl:只允許單變量系列的誤差
Station_ID Guage_Type Lat Long Date Time_Zone Time_Frame H0 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23
1 4457700 HI 41.52 124.03 1948-07-01 8 LST 0 0 0 0 0 0 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0 0 0 0 0 0 0 0 0 0 0 0
2 4457700 HI 41.52 124.03 1948-07-05 8 LST 0 1 1 1 1 1 2.0000000 2.0000000 2.0000000 4.0000000 5.0000000 5.0000000 4 7 1 1 0 0 10 13 5 1 1 3
3 4457700 HI 41.52 124.03 1948-07-06 8 LST 1 1 1 0 1 1 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0 0 0 0 0 0 0 0 0 0 0 0
4 4457700 HI 41.52 124.03 1948-07-27 8 LST 3 0 0 0 0 0 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0 0 0 0 0 0 0 0 0 0 0 0
5 4457700 HI 41.52 124.03 1948-08-01 8 LST 0 0 0 0 0 0 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0 0 0 0 0 0 0 0 0 0 0 0
6 4457700 HI 41.52 124.03 1948-08-17 8 LST 0 0 0 0 0 0 0.3888889 0.3888889 0.3888889 0.3888889 0.3888889 0.3888889 6 1 0 0 0 0 0 0 0 0 0 0
凡H0通過H23代表每天24小時(行)
使用僅CA1(上面的數據幀),I取的24點的每一天(行)和垂直方向轉置它並連接所有的剩餘天數(行)到一個變量,我稱之爲DAT1:
> dat1[1:48,]
H0 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H0 H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 2 2 2 4 5 5 4 7 1 1 0 0 10 13 5 1 1 3
使用可變DAT1 ,我輸入它作爲參數來獲取時間序列數據:
> rainCA1 <- ts(dat1, start = c(1900+as.POSIXlt(CA1[1,5])$year, 1+as.POSIXlt(CA1[1,5])$mon),
frequency = 24)
甲幾點注意事項:
>dim(CA1)
[1] 5636 31
>length(dat1)
[1] 135264
因此5636 * 24(總的數據點[24]每行)= 135264總點數。 長度(rainCA1)與上述要點一致。但是,如果我把一個結束的TS功能,如
>rainCA1 <- ts(dat1, start = c(1900+as.POSIXlt(CA1[1,5])$year, 1+as.POSIXlt(CA1[1,5])$mon),
end = c(1900+as.POSIXlt(CA1[5636,5])$year, 1+as.POSIXlt(CA1[5636,5])$mon),
frequency = 24)
我得到1134分的總長度,我在哪裏丟失了大量的數據。我假設這是由於日期不是連續的,因爲我只是將月份和年份作爲起點的參數。
繼續,在我認爲是正確的路徑,使用第一TS計算沒有結束的說法,我提供它作爲STL輸入:
>rainCA1_2 <-stl(rainCA1, "periodic")
不幸的是,我得到一個錯誤:
Error in stl(rainCA1, "periodic") : only univariate series are allowed
我不明白或如何去做。但是,如果我返回到ts函數並提供結束參數,stl可以正常工作,不會出現任何錯誤。
我在很多論壇上都有過研究,但是沒有人(或者我的理解)提供了一個很好的解決方案來獲得小時數據的數據屬性。如果有人可以幫助我,我會高度讚賞它。謝謝!