数据格式:x.csv
date value
20200201 2
20200202 4
······
20201102 6
class(date)是integer类型的,如何绘制横坐标是以日为周期的时间序列图?下面是一种解决方法:
library(tseries)
library(forecase)
library(zoo)
library(xts)
x=read.csv(“path”,header=TURE)
由于这个数据一开始时整型的,可以用class查看,首先要转换为ts类型。但ts函数中第一个参数的类型要求是character,所以要先转换为character。
x$date<-as.character(x$date)
x$date<-as.Date(x$date,"%Y%m%d")
此时20201012这类就会变为date类型的2020-10-12
x.fit=ts(x$value)
此时view一下发现只有序号和值了
此时绘制图像,发现横坐标只有序列号,而ts()函数frequency的值一般只取1.4.12,有看见有人说可以设置为365这些,也可以按日表示出来,但不知道为什么我画不出来,横坐标最后变得特别奇怪
后面发现可以用zoo,亦可以用xts实现,这里用xts实现。
x.fit1<-xts(x.fit,make_date(2020,02,01),ddays(0:11))
第一参数要求是ts类型,第二个参数是日期的启示时间,第三个是总天数。比如我要从2020-02-01到2020-02-12,这里有12天,就设置0:11
最后plot(x.fit1),就可以了。
展示一下结果,是用别的数据做的: