r - 在 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。请帮助我。我被困在了起点。
解决方案
首先,您想将数据重组为长格式,这可以使用 tidyr 的收集功能来完成。
library(tidyr)
myData <- myData %>% tidyr::gather(timeperiod, sales, JAN:DEC)
然后您的数据将被结构化以创建时间序列:
ts <- as.ts(data, from=c(2016,1), frequency=12)
推荐阅读
- git - 樱桃采摘后的 Azure DevOps 拉取请求
- javascript - 如何用画布层覆盖整个 MapBox 地图?
- jquery - 只选择空的div
- anylogic - 针对特定代理的带休息时间的轮班安排
- audio - webrtc audio_processing:StreamConfig 中的键盘通道是什么?
- java - 在没有 ImageIO 的情况下更快地读取 BufferedImage 中的图像
- android-studio - Android Studio 2020.3.1 - 运行很慢,总是重新构建
- database - 两个数据库之间的一致性
- python - Python3 datetime.datetime(2021, 05, 09) 不支持前导 0,但在 Python 2 中有效
- firebase - Firebase 控制台仅显示过去 30 分钟的参数