簡體   English   中英

提取日期預測包R.

[英]Extract Date forecast package R

我正在使用預測包並保存了結果

t <- data.frame(forecast(prod.arima, h=4))

到數據框架。 行名稱代表我的日期,打印時看起來像

> t
         Point.Forecast    Lo.80    Hi.80    Lo.95     Hi.95
2010.856       812.9849 630.5707 995.3992 534.0064 1091.9634
2010.876       670.3363 485.1885 855.4840 387.1772  953.4953
2010.895       769.4848 584.2552 954.7145 486.2005 1052.7691
2010.914       692.8951 507.6630 878.1272 409.6070  976.1832

我還沒有接近完成這項工作,但我希望自動化LaTex報告,在那里我將預測打印到報告頁面和預測圖。 我想我可以將數據幀傳遞給LaTex表,但我需要以最終用戶將理解它們代表周末(設置為星期日)的方式格式化日期。

我使用“可讀”日期將原始時間序列轉換為時間序列對象

ts(prod, start = 2009 +(31+28+31+5)/365, f=52 )

我的時間序列的開始時間是2009年4月5日,代表每周的數據點。

我們非常感謝您提供的任何幫助。 不用說我對R很新。

我可以想到兩種方法:一種是使用Epi包中的函數as.Date.cal.yr。 另一種方法是將這些日期乘以一年中的秒數,然后將其傳遞給as.POSIXct(但我沒有測試過那個。)在這兩個中,第一個似乎是最不痛苦的:

require(Epi)
as.Date.cal.yr(as.numeric(row.names(t)))
# [1] "2010-11-10" "2010-11-17" "2010-11-24" "2010-12-01"
as.POSIXlt(as.Date.cal.yr(as.numeric(row.names(t))))$wday
#  [1] 3 3 3 3
paste(weekdays(as.Date.cal.yr(as.numeric(row.names(t)))) , 
         as.Date.cal.yr(as.numeric(row.names(t))), sep=",")
 #   [1] "Wednesday,2010-11-10" "Wednesday,2010-11-17" "Wednesday,2010-11-24"
 #   [4] "Wednesday,2010-12-01"

所以我沒有星期天,因為那些在POSIXlt系統中將是wday == 0。 請參閱DateTimeClasses的幫助。

至於問題的LaTeX部分,安裝Hmisc包並使用函數latex()。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM