为什么 R 给我一个时间序列的行号而不是值?

Why does R give me a time series of row numbers instead of values?

为什么 R 给我一个时间序列的行号而不是值?

我按照我需要的顺序加载了一个包含单列值的 CSV。我正在努力使它成为一个时间序列。 R 没有给我输入的值,而是给我行号。

这是我得到的。如果有人可以帮助我了解正在发生的事情以及如何获得我的价值观的时间序列,我将不胜感激。

如下所示,对象 "values" 中的实际值列表。 在值上带有普通旧 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    

您的 values 变量是 factor(通常用于分类值)。 在创建时间序列之前将值转换为数字:

values <- as.numeric(levels(values))[values]