R语言里做时间序列分析有哪些包

R语言里做时间序列分析有哪些包,第1张

直接谷歌一下,“时间序列分析 R语言”,就能得到你想要的结果

以下结果来自, 作者:詹鹏 2012-9-20 22:46:46

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、数据保存在xlsx文件中,如下:

Date    Return    RV    BPV    

2002/07/01    

-001106

   

0000118

   

0000109

   

2002/07/02    

0006543

   

906E-05

   

873E-05

   

2002/07/03    

0003455

   

551E-05

   

565E-05

   

2002/07/04    

-001033

   

618E-05

   

602E-05

   

2002/07/05    

0005269

   

749E-05

   

493E-05

   

2002/07/08    

0006217

   

357E-05

   

385E-05

   

2002/07/09    

-00017

   

504E-05

   

466E-05

   

2、在R中,首先利用xlsx包读取数据。

require(xlsx)

realData = readxlsx("F:/Synchros/Working/2014-002S3/data/szzzRealDataxlsx", 1, header=TRUE)

# class(realData) 显示为dataframe

# mode(realData) 显示为list

# 分开来看,class(realData[,1])显示为 factor

# class(realData[,2])显示为 numeric

3、试图利用xts包创建xts对象

realDataxts <- asxts(realData, descr='my new xts object')

# 错误于asPOSIXltcharacter(x, tz, ) : 

#  character string is not in a standard unambiguous format

似乎问题在于第一列的数据类型,但要如何处理呢?

有没有直接从EXCEL中读取数据,然后进行时间序列建模的好方法呢?求教。

参考资料:

http://blogfensme/r-xts/

这个帖子中,的样本数据集为

head(sample_matrix)               Open     High      Low    Close2007-01-02 5003978 5011778 4995041 50117782007-01-03 5023050 5042188 5023050 50397672007-01-04 5042096 5042096 5026414 50332362007-01-05 5037347 5037347 5022103 50334592007-01-06 5024433 5024433 5011121 50181122007-01-07 5013211 5021561 4999185 4999185

sample_matrix的第一列为numeric,可以直接用以构建xts对象。    

用分片选取部分数据即可,试试这个codedata还是不行。提示:

错误于xts(realData[, -1], realData[, 2]) :

orderby requires an appropriate time-based object

我想还是软件无法识别第一列是关于时间的对象。。。。

多谢

楼主,你可以把数据贴一小部分用xlsx的格式上来不?

这个难度不是很大,但是要亲自处理一下数据,才知道 是啊  就是数据导入与对象构建的问题 主要是R学的不系统 自己处理不知道怎么折腾 

这种基本问题 很多帖子或者教程都找不到答案。

附件已添加,劳烦帮忙,3Q

本帖最后由 jiangbeilu 于 2014-11-27 13:46 编辑

复制代码

xx和Date之间是有一个美元符号的"$",好像显示不出来。看不到的话,就把代码改一下。已经上传了好几次,都是只显示第一行library(xlsx),实在是没有办法。

options那句,是把读入的character向量,不让它转变成Factor型向量;

strptime函数可以按照一定格式来提取时间,你的时间读入,前面是有一个空格的,不知道你注意没有。

转化成时间之前,后面的代码我就不写了,希望你可以继续做下去。至少代码运行是没有问题的。 

不是我不想贴代码,是因为代码上传每次都只显示第一行:library(xlsx)

注间strptime那里,“ %Y/%m/%d"里面有一个空格的。    

——多谢帮忙。时间确实没问题了。但想参照下面的程序,将xx转换为xts对象,就失败了。

library(xts)

data(sample_matrix)

head(sample_matrix)

Open      High          Low       Close

2007-01-02 5003978 5011778 4995041 5011778

2007-01-03 5023050 5042188 5023050 5039767

2007-01-04 5042096 5042096 5026414 5033236

2007-01-05 5037347 5037347 5022103 5033459

2007-01-06 5024433 5024433 5011121 5018112

2007-01-07 5013211 5021561 4999185 4999185

samplexts <- asxts(sample_matrix, descr='my new xts object')

class(samplexts)

[1] "xts" "zoo"

复制代码

延续您的代码,我把最后一行改为:

asxts(xx)

复制代码

错误信息为:

误于asPOSIXltcharacter(x, tz, ) :

character string is not in a standard unambiguous format

是哪儿出了问题呢?

你转化成矩阵之后,时间都没有一个变量名,很明显要出错的。确实。太不认真了,问题已经解决。十分感谢。不过没太明白您说的时间缺少变量名的意思,不是“Date”?我用的代码是:

xxxts = xts(xx[,c(2:4)], orderby = xx[,1])

我想知道x[,1]是什么?

因为你要用asxts转变成时间序列数据,首先系统要识别哪个是时间变量,你贴出来的数据,如果时间是第一列的话,那么没有变量名,怎么转化?    

——就是我附件里面的数据,即:

Date  Return RV BPV

date变量,没有转化为R可以识别的时间数据,你需要使用strptime这个函数,把时间进行一下整理,然后才能用asxts函数来处理。

你在没有处理之前,你所谓的date变量只是一系列字符串向量,没有时间意义的。    

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/11669222.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存