我按照我需要的顺序加载一个包含单列值的CSV。我试图让它成为一个时间序列。 R没有给我输入的值,而是给了我行号。
这是我得到的。如果有人能帮我理解发生了什么以及如何获得我的价值观的时间序列,我将不胜感激。
如下所示,对象中的实际值列表"值"。 具有普通旧ts()的时间序列在值上运行。 我提供开始日期和频率的时间序列。
> values
[1] 9976955.44 9362712.43 10012331.62 10068304.8 10532572.67 10195531.47 10324432.96 11208386.78
[9] 10700973.87 11068831.1 10176578.68 10188604.94 11380302.06 10204762.87 10668741.18 10897544.85
[17] 11521619.21 10323947.98 10778145.47 10454028.37 10455870.06 10382488.99 9987219.4 10260642.81
[25] 10848819.19 9732347.5 10203843.16 9869125.29 7542383.87 8569148.28 9890259.72 9440525.82
[33] 9361047.7 9715566.45 8409379.61
35 Levels: 10012331.62 10068304.8 10176578.68 10188604.94 10195531.47 10203843.16 ... 9987219.4
ts(values)
Time Series:
Start = 1
End = 35
Frequency = 1
[1] 34 28 1 2 14 5 10 21 16 20 3 4 22 7 15 19 23 9 17 12 13 11 35 8 18 31 6 32 24 26 33 29 27 30 25
attr(,"levels")
[1] 10012331.62 10068304.8 10176578.68 10188604.94 10195531.47 10203843.16 10204762.87 10260642.81
[9] 10323947.98 10324432.96 10382488.99 10454028.37 10455870.06 10532572.67 10668741.18 10700973.87
[17] 10778145.47 10848819.19 10897544.85 11068831.1 11208386.78 11380302.06 11521619.21 7542383.87
[25] 8409379.61 8569148.28 9361047.7 9362712.43 9440525.82 9715566.45 9732347.5 9869125.29
[33] 9890259.72 9976955.44 9987219.4
ts(values, start=c(2012, 1), frequency=12)
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2012 34 28 1 2 14 5 10 21 16 20 3 4
2013 22 7 15 19 23 9 17 12 13 11 35 8
2014 18 31 6 32 24 26 33 29 27 30 25
答案 0 :(得分:1)
您的values
变量是factor
(通常用于分类值)。
在创建时间序列之前将值转换为数字:
values <- as.numeric(levels(values))[values]