为什么在R中向后绘制时间序列数据?

bbowler86

我一直坚持为什么会发生这种情况,并尝试在各处搜索答案。当我尝试在R中绘制时间序列对象时,得到的结果却相反。

我有以下代码:

library(sqldf)
stock_prices <- read.csv('~/stockPrediction/input/REN.csv')
colnames(stock_prices) <- tolower(colnames(stock_prices))
colnames(stock_prices)[7] <- 'adjusted_close'
stock_prices <- sqldf('SELECT date, adjusted_close FROM stock_prices')
head(stock_prices)

    date adjusted_close
1 2014-10-20           3.65
2 2014-10-17           3.75
3 2014-10-16           4.38
4 2014-10-15           3.86
5 2014-10-14           3.73
6 2014-10-13           4.09

tail(stock_prices)
       date adjusted_close
1767 2007-10-15           8.99
1768 2007-10-12           9.01
1769 2007-10-11           9.02
1770 2007-10-10           9.06
1771 2007-10-09           9.06
1772 2007-10-08           9.08

但是当我尝试以下代码时:

stock_prices_ts <- ts(stock_prices$adjusted_close, start=c(2007, 1), end=c(2014, 10), frequency=12)
plot(stock_prices_ts, col='blue', lwd=2, type='l')

结果图像如何:

在此处输入图片说明

即使我使用以下代码反转时间序列对象:

plot(rev(stock_prices_ts), col='blue', lwd=2, type='l')

我明白了

在此处输入图片说明 有任意数字

知道为什么会这样吗?任何帮助深表感谢。

研究

发生这种情况的原因是,一旦应用rev函数,您的对象就会失去其时间序列结构例如 :

set.seed(1)
gnp <- ts(cumsum(1 + round(rnorm(100), 2)),
          start = c(1954, 7), frequency = 12)

gnp  ## gnp has  a real  time serie structure 
        Jan    Feb    Mar    Apr    May    Jun    Jul    Aug    Sep    Oct    Nov    Dec
1954                                             0.37   1.55   1.71   4.31   5.64   5.82
1955   7.31   9.05  10.63  11.32  13.83  15.22  15.60  14.39  16.51  17.47  18.45  20.39
1956  22.21  23.80  25.72  27.50  28.57  27.58  29.20  30.14  30.98  30.51  31.03  32.45
1957
rev(gnp)  ## the reversal is just a vector

[1] 110.91 110.38 110.60 110.17 110.45 108.89 106.30 104.60 102.44 ....

总的来说,操纵班级有点痛苦ts一种想法是使用一个xts“通常”保留其结构对象,即您对其应用了通用操作。

即使在这种情况下,对于xts对象也无法实现generic方法rev,也很容易将生成的Zoo时间序列强制为和使用as.xts

par(mfrow=c(2,2))
plot(gnp,col='red',main='gnp')
plot(rev(gnp),type='l',col='red',main='rev(gnp)')
library(xts)
xts_gnp <- as.xts(gnp)
plot(xts_gnp)
## note here that I apply as.xts again after rev operation
## otherwise i lose xts structure
rev_xts_gnp = as.xts(rev(as.xts(gnp))) 
plot(rev_xts_gnp)

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在R中向后滚动时间序列

来自分类Dev

在R中绘制时间序列

来自分类Dev

为什么我在 R 中获得这个月度时间序列数据的频率为 1?

来自分类Dev

R时间序列数据:绘制多个批次

来自分类Dev

在MATLAB中绘制时间序列数据

来自分类Dev

在R中绘制多个时间序列

来自分类Dev

在R中绘制时间序列事件图

来自分类Dev

在R中绘制时间序列事件图

来自分类Dev

在R中绘制时间序列时出错

来自分类Dev

R中的时间序列数据

来自分类Dev

如何在R中为时间序列光谱数据绘制漂亮的3D图

来自分类Dev

在R中绘制箱线图和时间序列数据线

来自分类Dev

如何在R中以日期格式绘制数据的时间序列图

来自分类Dev

用R中的时间索引绘制时间序列

来自分类Dev

绘制时间序列数据框

来自分类Dev

在Matlab中创建和绘制时间序列数据

来自分类Dev

为什么时间序列数据中按列的行差异出错?

来自分类Dev

R中时间序列数据的异常检测

来自分类Dev

在R中展开时间序列数据

来自分类Dev

R中每秒的处理时间序列数据

来自分类Dev

在R中循环浏览时间序列数据

来自分类Dev

R中绘制多元时间序列的问题

来自分类Dev

在R中绘制时间序列(24小时)

来自分类Dev

如何不使用R绘制时间序列中的差距

来自分类Dev

用ggplot绘制R中的几个大时间序列的问题

来自分类Dev

用R中的不连续轴绘制时间序列

来自分类Dev

在R中绘制具有不同颜色的时间序列

来自分类Dev

R中时间序列的谐波回归模型的拟合和绘制

来自分类Dev

R中绘制多元时间序列的问题