r语言 协整_R语言时间序列函数大全

本文详细介绍了R语言中用于时间序列分析的包和基本函数,包括zoo, xts, timeSeries等包的使用,以及转换时间序列、单位根检验、ARIMA模型等操作。此外,还提供了数据处理、图形展示和统计运算的实例,并讨论了单位根检验、差分运算和ARIMA模型的模拟。" 8434954,193261,Quest3D通道组件详解,"['图形引擎', '数据交互', '3D动画', '逻辑编程', '计数器技术']
摘要由CSDN通过智能技术生成

一、【包】

library(zoo) #时间格式预处理

library(xts) #同上

library(timeSeires) #同上

library(urca) #进行单位根检验

library(tseries) #arma模型

library(fUnitRoots) #进行单位根检验

library(FinTS) #调用其中的自回归检验函数

library(fGarch) #GARCH模型

library(nlme) #调用其中的gls函数

library(fArma) #进行拟合和检验

二、【基本函数】

数学函数

abs,sqrt:绝对值,平方根 log, log10, log2 , exp:对数与指数函数 sin,cos,tan,asin,acos,atan,atan2:三角函数 sinh,cosh,tanh,asinh,acosh,atanh:双曲函数

简单统计量

sum, mean, var, sd, min, max, range, median, IQR(四分位间距)等为统计量,sort,order,rank与排序有关,其它还有ave,fivenum,mad,quantile,stem等。

三、【数据处理】

#具体说明见文档1

#转成时间序列类型

x = rnorm(2)

charvec = c(“2010-01-01”,”2010-02-01”)

zoo(x,as.Date(charvec)) #包zoo

xts(x, as.Date(charvec)) #包xts

timeSeries(x,as.Date(charvec)) #包timeSeries

#规则的时间序列,数据在规定的时间间隔内出现

tm = ts(x,start = c(2010,1), frequency=12 ) #12为按月份,4为按季度,1为按年度

zm = zooreg(x,start = c(2010,1), frequency=12 ) #包zoo

xm = as.xts(tm) #包xts

sm = as.timeSeries(tm) #包timeSeries

#判断是否为规则时间序列

is.regular(x)

#排序

zoo()和xts()会强制变换为正序(按照时间名称)

timeSeries不会强制排序;其结果可以根据sort函数排序,也可以采用rev()函数进行逆序;参数recordIDs,可以给每个元素(行)标记一个ID,从而可以找回原来的顺序

#预设的时间有重复的时间点时

zoo会报错

xts按照升序排列

timeSeries把重复部分放置在尾部;

#行合并和列合并

#都是按照列名进行合并,列名不同的部分用NA代替

cbind()

rbind()

merge() 列合并

#取子集

xts()默认将向量做成了矩阵;其他与常规向量或者矩阵没有差别

#缺失值处理

na.omit(x)

x[is.na(x)] = 0

x[is.na(x)] = mean(x,na.rm=TRUE)

x[is.na(x)] = median(x,na.rm=TRUE)

na.approx(x) #对缺失值进行线性插值

na.spline(x) #对缺失值进行样条插值

na.locf(x) #末次观测值结转法

na.trim(x, sides=”left” ) #去掉最后一个缺失值

#对timeSreies数据

na.omit(x, “ir” ) #去掉首末位置的缺失值

na.omit(x, “iz” ) #用替换首末位置的缺失值

na.omit(x, “ie” ) #对首末位置的缺失值进行插值

na.omit(x, method=“ie”, interp= c(“before”,”linear”,”after”) ) #可以选择插值方法,before末次观测值法,after下次观测结转法

as.contiguous(x) #返回x中最长的连续无缺失值的序列片段,如果有两个等长的序列片段,则返回第一个。

#时间序列数据的显示

#zoo和xts都只能按照原来的格式显示,timeSeries可以设置显示格式

print(x, format= “%m/%d/%y %H:%M”) #%m表示月,%d表示天,%y表示年,%H表示时,%M表示分钟,%A表示星期,%j表示天的序号

#timeSeries也可以按照ts的格式显示

print(x, style=”ts”)

print(x, style=”ts”, by=”quarter”)

四、【图形展示】

plot.zoo(x)

plot.xts(x)

plot.zoo(x, plot.type=”single”) #支持多个时间序列数据在一个图中展示

plot(x, plot.type=”single”) #支持多个时间序列数据在一

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值