可以访问R中列表的元素

时间:2014-07-31 21:56:54

标签: r list forecasting

我想在列表中获取一些特定元素,这些元素由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")

1 个答案:

答案 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)

enter image description here

从这张图中可以看出,预测不仅仅是均值,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$methodres$model,最后调查您正在寻找的res$mean