首页 > 解决方案 > 在 r 中导入时间序列

问题描述

我的数据集我正在尝试对具有两个属性(年份和销售额)的数据集实施时间序列分析。年份是 2016、2017 和 2018 年,其中有所有 12 个月的平均销售额。我的数据如下所示:

          JAN     FEB     MAR     APR       MAY      JUNE       
  2016    4457.   4,105   4,276   4712.   5,116      4,512     
  2017    4,222   5,432   4,816   5,018   4,497      4,603      
  2018    4,355   4,972   4,868   4,665   4,735      4,926

这只是我的数据集的一部分,以了解它的外观。月份是一月到十二月。现在我想知道,首先,如何将这个数据集导入R?因为我显然不能像这样导入它,因为它会处理所有列,如 X1、X2 等,这些变成了太多变量。其次,R 将此数据集作为“data.frame”。我怎样才能将它转换为“ts”。我努力了

data.ts<- as.ts(myData)

但它会将其转换为

“mts” “ts” “矩阵”

而且,它显示我的频率1,而应该是12。请帮助我。我被困在了起点。

标签: rtime-seriesanalysis

解决方案


首先,您想将数据重组为长格式,这可以使用 tidyr 的收集功能来完成。

library(tidyr)
myData <- myData %>% tidyr::gather(timeperiod, sales, JAN:DEC)

然后您的数据将被结构化以创建时间序列:

ts <- as.ts(data, from=c(2016,1), frequency=12)

推荐阅读