遇到 R 的时间序列问题 objects
Having trouble with R's time series objects
我有一列 84 个月的支出,从 1/2004 到 12/2010,在 Excel 中看起来像...
12247815.55
11812697.14
13741176.13
21372260.37
27412419.28
42447077.96
55563235.3
45130678.8
54579583.53
43406197.32
34318334.64
25321371.4
...(74 more entries)
我正在尝试从本系列的预测包中 运行 一个 stl(),因此我加载了数据:
d <- ts(read.csv("deseason_vVectForTS.csv",
header = TRUE),
start=c(2004,1),
end=c(2010,12),
frequency = 12)
(如果我这样做 header=FALSE 它将吸收第一个条目 - 122...- 作为第二列的 header,并将第一列命名为 header 'X')
但是我的环境并没有填充 Time Series Object from 2004 to 2011
(如前所述),它只是说 ts[1:84, 1]
.
可能相关的事实是,
fit <- stl(d)
投掷
Error in stl(d) : only univariate series are allowed.
尽管
head(d)
[1] 12247816 11812697 13741176 21372260 27412419 42447078
和
d
Jan Feb Mar Apr May Jun Jul Aug Sep Oct
2004 12247816 11812697 13741176 21372260 27412419 42447078 55563235 45130679 54579584 43406197
("years 2005-2010 look exactly the same, and all rows have columns for Jan-Dec; it just doesn't fit on here neatly - just trying to show the object has taken the ts labeling structure.")
我做错了什么?据我所知,这与我过去构建时间序列的方式相同 objects...
read.csv
读入一个矩阵。如果它只有一列,它仍然是一个矩阵。要使其成为向量,请使用
d <- ts(read.csv("deseason_vVectForTS.csv",
header = TRUE)[,1],
start=c(2004,1),
end=c(2010,12),
frequency = 12)
此外,请检查您的事实。 stl
在 stats
包中,而不是 forecast
包中。这可以使用 help(stl)
轻松检查。
我有一列 84 个月的支出,从 1/2004 到 12/2010,在 Excel 中看起来像...
12247815.55
11812697.14
13741176.13
21372260.37
27412419.28
42447077.96
55563235.3
45130678.8
54579583.53
43406197.32
34318334.64
25321371.4
...(74 more entries)
我正在尝试从本系列的预测包中 运行 一个 stl(),因此我加载了数据:
d <- ts(read.csv("deseason_vVectForTS.csv",
header = TRUE),
start=c(2004,1),
end=c(2010,12),
frequency = 12)
(如果我这样做 header=FALSE 它将吸收第一个条目 - 122...- 作为第二列的 header,并将第一列命名为 header 'X')
但是我的环境并没有填充 Time Series Object from 2004 to 2011
(如前所述),它只是说 ts[1:84, 1]
.
可能相关的事实是,
fit <- stl(d)
投掷
Error in stl(d) : only univariate series are allowed.
尽管
head(d)
[1] 12247816 11812697 13741176 21372260 27412419 42447078
和
d
Jan Feb Mar Apr May Jun Jul Aug Sep Oct
2004 12247816 11812697 13741176 21372260 27412419 42447078 55563235 45130679 54579584 43406197
("years 2005-2010 look exactly the same, and all rows have columns for Jan-Dec; it just doesn't fit on here neatly - just trying to show the object has taken the ts labeling structure.")
我做错了什么?据我所知,这与我过去构建时间序列的方式相同 objects...
read.csv
读入一个矩阵。如果它只有一列,它仍然是一个矩阵。要使其成为向量,请使用
d <- ts(read.csv("deseason_vVectForTS.csv",
header = TRUE)[,1],
start=c(2004,1),
end=c(2010,12),
frequency = 12)
此外,请检查您的事实。 stl
在 stats
包中,而不是 forecast
包中。这可以使用 help(stl)
轻松检查。