将数据集转换为时间序列

时间:2019-04-27 17:16:05

标签: r analysis

mydataset我有这个数据集,它由两个属性组成,即Year(2016,2017,2018)和Month(JAN TO DEC)。数据集包含2016年,2017年和2018年所有月份的平均销售价值。现在,当我导入该数据集时,它表明该数据集是“ data.frame”。但是我希望它以“ ts”表示。然后我运行了这个命令

data.ts<- as.ts(myData)

将我的数据转换为“ ts”。结果如下:

 class(data.ts)
 [1] "mts"    "ts"     "matrix"

现在,我希望我的数据集仅在“ ts”中,这意味着当我运行命令class(data.ts)时。它应该只显示“ ts”。如何仅在“ ts”中转换数据?这个“ mts”和“ matrix”是否重要? 另外,当我使用命令绘制数据时

 plot(data.ts)

它显示了一个图,其中时间在x轴上,而年份和销售额在y轴上。另一方面,我想绘制一个图表,在x轴上显示Year,在y轴上显示Months的Sales值。

如何排列数据,以便在导入数据集时数据已经存在于ts中?还是有其他方法可以做到?另外,默认情况下如何排列在x轴上显示Year的数据集。我真的很困惑,因为我在YouTube上观看的所有视频的数据都已经包含在“ ts”中。另外,他们的图在x轴上显示Year。希望我已经说清楚了。任何帮助,将不胜感激。 如何绘制图形,使Year在x轴上?

1 个答案:

答案 0 :(得分:0)

在单个变量中对数据重新排序:

data=as.matrix(data)
data= as.data.frame(t(data))
names(data)=c('x2016','x2017','x2018')
series=c(data$x2016,data$x2017,data$x2018)

然后仅根据起始点和数据频率获取索引。您的情况看起来像是从2016年开始的每月记录,

data.ts=ts(series ,start=c(2016,1), frequency=12)
plot(data.ts)