【发布时间】:2020-09-29 10:58:38
【问题描述】:
我有以下代码:
library(ggplot2)
library(fpp2)
library(tidyverse)
library(tidyr)
library(lubridate)
library(writexl)
library(plyr)
library(forecast)
Sales171819 <- SalesNL[SalesNL$TransactionDate >= "2017-01-01" & SalesNL$TransactionDate <= "2019-12-31",]
#create time series
myts <- ts(Sales171819[,2],start = decimal_date(as.Date("2017-05-01")), frequency = 365)
#plot time series
view(myts)
autoplot(myts) + ggtitle("TAF Sales NL 2017/2018")+
ylab("SalesQty") + xlab("days")
# seasonal plot sales
ggseasonplot(myts) + ggtitle("Sales Per Dag")+
ylab("Sales") + xlab("Days")
我想将实际日期绘制到 x 轴上的 autoplot 和 ggseasonplot 上,而不是第 1、2、3 天……等等。我还想用实际日期突出显示图中的点。如何编辑我的代码以便完成这项工作?
数据如下:
TransactionDate NetSalesQty
1 2017-05-01 1221
2 2017-05-02 1275
3 2017-05-03 1198
4 2017-05-04 1792
5 2017-05-05 1842
6 2017-05-06 1183
structure(list(TransactionDate = structure(c(17287, 17288, 17289,
17290, 17291, 17292), class = "Date"), NetSalesQty = c(1221,
1293, 1525, 1475, 1854, 2189)), row.names = c(NA, -6L), class = c("tbl_df",
"tbl", "data.frame"))
提前致谢。
【问题讨论】:
-
您好 :) 为了让我们帮助您,请提供reproducible 示例。例如,要生成最小数据集,可以使用
head()、subset()。然后使用dput()给我们一些可以立即放入R 的东西。或者,您可以使用基本 R 数据集,例如mtcars、iris、etc。 -
感谢您的回复,我提供了我正在使用的数据样本
-
感谢您的数据。我的代码遇到了一些问题。你用什么包? 2)您可以发布您的示例数据的
dput()(我对数据的类型有一些疑问,这无法通过您的示例的复制/粘贴来检查)?另外,我有很多错误,例如Objects of type ts not supported by autoplot.。你也有这些吗? -
我猜你对“日期”的编码方式有些问题。
-
好的,我已经添加了数据的 dput() 以及我使用的包。我没有收到那个错误,自动绘图对我来说很好用
标签: r time-series ggtimeseries