如何定义时间序列的值范围?

时间:2015-10-30 18:10:54

标签: r time-series axis scaling currency-exchange-rates

首先,抱歉我的帖子有任何错误,我是这个网站的新手。

我现在开始使用R,我正在尝试使用时间序列数据进行一些分析。 所以,我手头有一些时间系列,已经将它加载到R. 我也可以绘制这个时间序列并为轴添加标签,依此类推。到目前为止一切都很好。

我的问题:当我绘制时间序列时,R会将y轴上的值范围设置为大约[0:170]的间隔。 这有点奇怪,因为时间序列包含今年的每日欧元/美元汇率。这意味着这些值的范围约为1.05到1.2。

enter image description here

相对值是正确的。 如果图表在第40天左右显示最大值,则数据集中的相应值似乎是最大值。 但它大约是1.4而不是170。

我希望能理解我的问题。 我希望y轴的范围从1到1.2,例如。 ylim=c(1, 1.2)命令会将轴缩放到该范围,但不会缩放值。 它只是忽略了它们。

有谁知道如何调整? 我真的很感激。

非常感谢你。

非常感谢到目前为止的输入。 “关键代码”如下:

> FRB <- read.csv("FRB_H10.csv", header=TRUE, sep=",")
> attach(FRB)
> str(FRB)
'data.frame':   212 obs. of  2 variables:
 $ Date: Factor w/ 212 levels "2015-01-01","2015-01-02",..: 1 2 3 4 5 6 7  8 9 10 ...
 $ Rate: Factor w/ 180 levels "1.0524","1.0575",..: 180 179 177 178 174 173 175 176 171 172 ...
> plot.ts(Rate)

上一张图的结果如上所示。

将变量更改为数字会产生以下结果:

> as.numeric(Rate)
  [1] 180 179 177 178 174 173 175 176 171 172 170 166 180 167 169 160 123 128 150 140 132 128 138 165
 [25] 161 163 136 134 134 129 159 158 180 156 140 155 151 142 131 148 104 100  96 104  65  53  27  24
 [49]  13   3   8   1   2   7  10   9  21  42  36  50  39  33  23  15  19  29  51  54  26  23  11   6
 [73]   4  12   5  16  20  18  17  14  22  30  34  49  92  89  98  83  92 141 125 110  81 109 151 149
 [97] 162 143  85  69  77  61 180  30  32  38  52  37  78 127 120  73 105 126 131 106 122 119 107 112
[121] 157 137 152  96  93  99  87  94  86  70  71 180  67  43  66  58  84  57  55  47  35  25  26  41
[145]  31  48  48  75  63  59  38  60  46  44  28  40  45  52  62 101  82  74  68  60  64 102 144 168
[169] 159 154 108  91  98 118 111  72  76 180  95  90 117 139 131 116 130 133 145 103  79  88 115  97
[193] 106 113  89 102 121 102 119 114 124 148 180 153 164 161 147 135 146 141  80  56

所以,它保持不变。这很奇怪。数据摘录显示“Rate”的值大约介于1.1和1.5之间,因此实际上不是上面显示的值。 :/

数据集可以在以下链接中找到:

https://www.dropbox.com/s/ndxstdl1aae5glt/FRB_H10.csv?dl=0

应该没问题。我是从联邦储备系统的数据库得到的,所以非常合适。

(不得不删除指向数据摘录的链接,因为我的声誉只允许一次发布2个链接。但我想这整个数据集应该更好。

1 个答案:

答案 0 :(得分:1)

@BlankUsername

非常感谢这个链接。我现在使用这段代码了解它:

FRB <- read.csv("FRB_H10.csv", header=TRUE, sep=",")
> attach(FRB)
> as.numeric(paste(Rate))
  [1]     NA 1.2015 1.1918 1.1936 1.1820 1.1811 1.1830 1.1832 1.1779 1.1806 1.1598 1.1517     NA
 [14] 1.1559 1.1584 1.1414 1.1279 1.1290 1.1370 1.1342 1.1308 1.1290 1.1337 1.1462 1.1418 1.1432
 [27] 1.1330 1.1316 1.1316 1.1300 1.1410 1.1408     NA 1.1395 1.1342 1.1392 1.1372 1.1346 1.1307
 [40] 1.1363 1.1212 1.1197 1.1190 1.1212 1.1070 1.1006 1.0855 1.0846 1.0707 1.0576 1.0615 1.0524
 [53] 1.0575 1.0605 1.0643 1.0621 1.0792 1.0928 1.0908 1.0986 1.0919 1.0891 1.0818 1.0741 1.0768
 [66] 1.0874 1.0990 1.1008 1.0850 1.0818 1.0671 1.0598 1.0582 1.0672 1.0596 1.0742 1.0780 1.0763
 [79] 1.0758 1.0729 1.0803 1.0876 1.0892 1.0979 1.1174 1.1162 1.1194 1.1145 1.1174 1.1345 1.1283
 [92] 1.1241 1.1142 1.1240 1.1372 1.1368 1.1428 1.1354 1.1151 1.1079 1.1126 1.1033     NA 1.0876
[105] 1.0888 1.0914 1.0994 1.0913 1.1130 1.1285 1.1271 1.1108 1.1232 1.1284 1.1307 1.1236 1.1278
[118] 1.1266 1.1238 1.1244 1.1404 1.1335 1.1378 1.1190 1.1178 1.1196 1.1156 1.1180 1.1154 1.1084
[131] 1.1090     NA 1.1076 1.0952 1.1072 1.1025 1.1150 1.1020 1.1015 1.0965 1.0898 1.0848 1.0850
[144] 1.0927 1.0884 1.0976 1.0976 1.1112 1.1055 1.1026 1.0914 1.1028 1.0962 1.0953 1.0868 1.0922
[157] 1.0958 1.0994 1.1042 1.1198 1.1144 1.1110 1.1078 1.1028 1.1061 1.1200 1.1356 1.1580 1.1410
[170] 1.1390 1.1239 1.1172 1.1194 1.1263 1.1242 1.1104 1.1117     NA 1.1182 1.1165 1.1262 1.1338
[183] 1.1307 1.1260 1.1304 1.1312 1.1358 1.1204 1.1133 1.1160 1.1252 1.1192 1.1236 1.1246 1.1162
[196] 1.1200 1.1276 1.1200 1.1266 1.1249 1.1282 1.1363     NA 1.1382 1.1437 1.1418 1.1360 1.1320
[209] 1.1359 1.1345 1.1140 1.1016
Warning message:
NAs introduced by coercion 
> Rate <- cbind(paste(Rate))
> plot(Rate)
Warning message:
In xy.coords(x, y, xlabel, ylabel, log) : NAs introduced by coercion
> plot.ts(Rate, ylab="EUR/USD")

尽管有警告信息,但我得到以下输出(如下所示)。就像我打算绘制它一样。

enter image description here

尽管如此,我真的不明白为什么它的工作方式如此。为什么我必须使用paste()命令以及它的确切功能。我对这些课程的基本概念有所了解,但对于整个R世界来说,这是一个新的东西。

我已经意识到的一件事就是R是如此强大的程序。如果你是初学者,那会让人感到困惑。 :d