我想在列表中获取一些特定元素,这些元素由R中的预测函数返回。
我的数据是这样的
Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
111 69894.82 62433.7449 77355.89 58484.0929 81305.54
112 69894.82 60130.1979 79659.43 54961.1218 84828.51
113 69894.82 58274.6632 81514.97 52123.3264 87666.30
114 69894.82 56677.0955 83112.53 49680.0575 90109.57
115 69894.82 55252.8108 84536.82 47501.8019 92287.83
我想在“预测”栏中获取该数字。
我使用以下代码创建数据:
myts is some time series data
fit <- auto.arima(myts)
res <- forecast(fit, 677)
我的数据名称为res,列表为10。 dput(res)的结果如下:
-2443.82541262374, -3956.5563302119, 1335.8788362195, 3804.02514978909,
-1364.6312311184, -360.502517865796, -286.138018093465, -2804.55786143203,
-1201.73015351274, -1085.1353062962, 8688.02102637354, -5767.08772503892,
7292.94004476998, -2310.33192585826, -1329.76851485969, -4561.07364095336,
2552.742451461, 3299.51706250617, 2447.80597742078, 15969.1761900118,
-12064.25481109, -4186.66470081449, -6343.95400053521, 3822.10952263371
), .Tsp = c(1, 110, 1), class = "ts")), .Names = c("method",
"model", "level", "mean", "lower", "upper", "x", "xname", "fitted",
"residuals"), class = "forecast")
答案 0 :(得分:1)
as.numeric(res$mean)
将完成这项工作。
根据您的评论,Forecast
是实际预测,并不总是平均值。
使用取自here
的数据集考虑以下示例library(forecast)
births <- scan("http://robjhyndman.com/tsdldata/data/nybirths.dat")
birthstimeseries <- ts(births, frequency=12, start=c(1946,1))
fit <- auto.arima(birthstimeseries)
res <- forecast(fit, 12)
plot(res)
从这张图中可以看出,预测不仅仅是均值,auto.arima
符合季节模型
如果您要检查res$mean
,您会看到数字不同
Jan Feb Mar Apr May Jun Jul Aug Sep Oct
1960 27.69056 26.07680 29.26544 27.59444 28.93193 28.55379 29.84713 29.45347 29.16388 29.21343
Nov Dec
1960 27.26221 28.06863
根据您的上一次评论,为了检查&#34;胆量&#34;对于一个未知的(对你而言)R对象,最好从class(res)
,str(res)
开始,最后是attributes(res)
。后者将向您显示此对象包含的所有属性:
attributes(res)
## v$names
## [1] "method" "model" "level" "mean" "lower" "upper" "x" "xname"
## [9] "fitted" "residuals"
## $class
## [1] "forecast"
现在您可以调查res$method
或res$model
,最后调查您正在寻找的res$mean