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

R 如何定义时间序列的值范围?,r,time-series,axis,scaling,currency-exchange-rates,R,Time Series,Axis,Scaling,Currency Exchange Rates,首先,对于我的帖子有任何错误,我深表歉意,我是这个网站的新手 我现在开始学习R,我试图用时间序列数据做一些分析。 所以,我手头有一个时间序列,并且已经把它加载到R。 我还可以绘制这个时间序列,并向轴添加标签,等等。到目前为止还不错 我的问题是:当我绘制时间序列时,R会将y轴上的值范围设置为大约[0:170]的间隔。 这有点奇怪,因为泰晤士报系列包含了今年的每日欧元/美元汇率。这意味着这些值的范围大约在1.05到1.2之间 相对值是正确的。 如果绘图显示第40天左右的最大值,则数据集中的相应值显

首先,对于我的帖子有任何错误,我深表歉意,我是这个网站的新手

我现在开始学习R,我试图用时间序列数据做一些分析。 所以,我手头有一个时间序列,并且已经把它加载到R。 我还可以绘制这个时间序列,并向轴添加标签,等等。到目前为止还不错

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

相对值是正确的。 如果绘图显示第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)
因此,它保持不变。这很奇怪。数据摘录显示,“速率”的值大约在1.1和1.5之间,因此实际上不是上面显示的值:/

可在此链接下找到数据集:

应该没问题。我是从联邦储备系统的数据库里得到的,这是一个不错的来源

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

@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")
FRB连接(FRB)
>如数字(粘贴(速率))
[1] NA 1.2015 1.19181.19361.18201.18111.18301.18321.17791.18061.15981.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.12411.11421.12401.1372 1.13681.14281.13541.11511.10791.11261.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
警告信息:
强制引入的NAs
>费率图(费率)
警告信息:
在xy.coords(x,y,xlabel,ylabel,log)中:强制引入的NAs
>地块ts(费率,ylab=“欧元/美元”)
尽管有警告消息,我还是得到了以下输出(如下所示)。就像我打算绘制它一样

尽管如此,我还是不太明白为什么它是这样工作的。为什么我必须使用
paste()
命令以及它的具体功能。我对类的功能有了基本的了解,但我对R的整个世界都很陌生


有一件事我已经意识到,R是一个功能强大的程序。但如果你是初学者,就会感到困惑。:D

也许你的货币栏现在是一个因素。试试str()函数来查看您的数据。也许它会像将您的值更改为numericA问题一样简单,因此应该有完整的最小自包含代码,包括所有输入、库语句等。因此读者可以将其复制并粘贴到R会话中,以便在自己的机器上重现结果。这3个链接包含有关如何提问的更多信息问题:我刚刚编辑了问题并包含了代码。:)讨论可能与您的问题有关,因为
as。numeric
没有做您认为它应该做的事情。当您使用
as.numeric(levels(Rate))[Rate]
时,NAs是否持续存在?如果这也能解决,那就太好了,这样你就有了一个功能齐全的代码。顺便问一下,NA是什么意思?如果我没弄错的话,NA代表不可用?R为什么要介绍这些?我的意思是,从一开始数据集中就有一些NAs。但很明显,R创造了更多。我不太清楚为什么会发生这种情况。您可以尝试的另一件事是在
read.csv
命令中包含
stringsAsFactors=FALSE
。这将首先防止R将数据作为因子加载。
stringsAsFactors=False
也可以正常工作。这样做更容易,从一开始就以数字形式加载数据。当然,输出与上面显示的相同。y轴上的刻度正确。
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")