第一周
作者:互联网
使用R进行时间序列分析
读取外部数据
对于不是表格形式的单变量的数据,用scan()
达到将数据按每行的方式读取为向量形式的数据
对于表格形式的多变量数据 :
- 如果是文本文件格式的数据,使用
read.table()
进行读入。如果第一行是变量名,需要添加header=TRUE
说明. - 如果是
.csv
文件需要使用read.csv()
进行读取. 如果第一行是变量名,需要添加header=TRUE
说明.
构造时间序列对象
时间序列是按照时间顺序记录的一系列观测值,因此一个时间序列应包含这些数值以及记录这些数值的时间,这些信息可以存储在一个时间序列对象里。
对于周期规则的观测数据
在R里,ts
函数可以用来构造这种时间序列对象
example :
time_series = ts(variable,start = year,frequency = 1)
time_series = ts(variable, start = c(1980,1), frequency = 12)
, 1980
表示年份,1
表示第一个周期.
观测周期 | frequency |
---|---|
年度 | 1 |
季度 | 4 |
月度 | 12 |
周 | 52 |
使用window
函数可以按时间要求截下需要的子时间序列部分并以表格形式呈现 :
cut_of_time_series=window(time_series,start = c(1981,1),end = c(1982,12))
对于非规则的观测数据
可以用包lubridate
来构造时间标签,用包xts
中的xts
函数来构造时间序列对象,下面是一个例子
library(xts)
library(lubridate)
table_data=read.table("filename.txt",header=TRUE)
date = make_date(table_data$year,table_data$mon,table_data$day)#生成的是一列时间字符串向量
data_series = xts(table_data[,4],order.by = date)#生成时间序列变量
可视化
plot
函数
plot(data_series,main="Title",ylab="value")
plot(data_series,type="o",main="Australia Wine Sales,1980-1991")#type指定数据点的形状
plot
呈现的是空白背景的图
autoplot
函数
library(forecast)
library(ggplot2)
autoplot(data_series) + ggtitle("Title") + ylab="value"
autoplot
生成灰色背景的有标度线的图
标签:xts,第一周,series,时间,序列,table,data 来源: https://www.cnblogs.com/WilliamHuang2022/p/16670788.html