我是R.的新手。我有一个函数的输出,当在变量声明中捕获它是一个列表。
> typeof(fc)
[1] "list"
以下是fc
看起来像
Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
10229 -2.237542 -5.81116452 1.336080 -7.70292589 3.227841
10230 1.683324 -3.19974731 6.566396 -5.78468918 9.151337
10231 3.893685 -1.32257692 9.109948 -4.08389942 11.871270
.......
如何制作一个仅使用此类型的Forecast
列的向量。我用Google搜索并认为我应该说fc$Forecast
。但是当我这样做时,我会打印NULL
。非常感谢您的时间/帮助。感谢。
根据要求:输出输出的最后几行:
Names = c("method", "model", "level",
"mean", "lower", "upper", "x", "xname", "fitted", "residuals"
), class = "forecast")
前几行。
structure(list(method = "ARIMA(4,0,2) with non-zero mean", model
= structure(list(coef = structure(c(0.261848480125606, 0.55212561713038,
0.00823985719608051, -0.051126398268002, -0.369141509818343,
1.60863444159457, -0.0928857946719395, -0.0901626797717415,
0.0526652165617547, -0.242259088064732, 0.164509902811429,
-0.149744064351169, 0.108818836027556, -0.0143040675162776
), .Names = c("ar1", "ar2", "ar3", "ar4", "ma1", "ma2", "intercept",
"S1", "C1", "S2", "C2", "S3", "C3", "S4", "C4")), sigma2 = 1.3269817639389,
var.coef = structure(c(0.494
在它之间它只是一个3元组的墙。
答案 0 :(得分:2)
你得到的是print.forecast的输出,它不是内部预测对象的实际内容(从str(fc)的片段可以看出。)...第一列的名称不是“预测”,而不是“点预测”(由于嵌入的空间需要引用)。所以在看了print.forecast和getAnywhere之后,我预测你会得到你想要的向量,并对此进行明显的修改(在执行示例之后)帮助(forecast.Arima):
> as.data.frame(forecast(fit))$`Point Forecast`
[1] -0.7725430 0.4591482 0.8732595 1.0124943 1.0593135 1.0750607 1.0803599 1.0821453
[9] 1.0827486 1.0829539 ### "works"
因此......试试:
as.data.frame(fc)$`Point Forecast`
答案 1 :(得分:2)
你想要fc$mean
。这完整记录在forecast()
的帮助文件中。
答案 2 :(得分:0)
要从读取的数据中打印一列,
#Reading Data
data <- fread("data.csv")
#printing Data
str(data)
id | Name | Father's Name | Birth
1 | Abel | Tilaun | 1994 BC
2 | Jon | Snow | 283 AC
3 | Ned | Stark | 263 AC
下一步是打印您选择的单列,可以是Name
或Birth
。在此示例中,我将使用名称
#use this to print the single coloumn
data[,'Name',drop=FALSE]
id | Name
1 | Abel
2 | Jon
3 | Ned
或另一种方式是使用$
,它用于引用数据框中的列表或列中的元素。
data$Name #This will print out everything that is contained in coloumn
希望这对您有所帮助。
答案 3 :(得分:-1)
我得到了很多。我只是将我需要的数据从输出复制并粘贴到文本文件并使用readLines(),而不是试图计算数据在我使用的每个不同包中的存储位置和方式。
不要复制标题,当它们有空格时会混淆:
在上面,我复制了你的输出:
df <- read.table(file="http://www.bertelsen.ca/R/dump.r")
df
V1 V2 V3 V4 V5 V6
1 10229 -2.237542 -5.811165 1.336080 -7.702926 3.227841
2 10230 1.683324 -3.199747 6.566396 -5.784689 9.151337
3 10231 3.893685 -1.322577 9.109948 -4.083899 11.871270
所以在这种情况下,我认为你只想看到df$V2