• R语言
  • xts创建遇到问题,求教

1、数据保存在xlsx文件中,如下:
Date Ret Ret1 Ret2
2002/07/01 -0.011060737 0.000117604 0.000108934
2002/07/02 0.006543289 9.05658E-05 8.72709E-05
2002/07/03 0.003454995 5.51476E-05 5.6516E-05
2002/07/04 -0.010325115 6.18436E-05 6.01633E-05
2002/07/05 0.005268793 7.49235E-05 4.92564E-05

2、在R中,首先利用xlsx包读取数据。
require(xlsx)
realData = read.xlsx("F:/Synchros/Working/2014-002S3/data/szzzRealData.xlsx", 1, header=TRUE)
# class(realData) 显示为data.frame
# mode(realData) 显示为list
# 分开来看,class(realData[,1])显示为 factor
# class(realData[,2])显示为 numeric

3、试图利用xts包创建xts对象
realData.xts <- as.xts(realData, descr='my new xts object')
# 错误于as.POSIXlt.character(x, tz, ...) :
# character string is not in a standard unambiguous format

似乎问题在于第一列的数据类型,但要如何处理呢?
有没有直接从EXCEL中读取数据,然后进行时间序列建模的好方法呢?求教。
参考资料:http://blog.fens.me/r-xts/

> mxts<-as.xts(realData[,c(2,3,4)],order.by =realData$Date)
> mxts
Ret Ret1 Ret2
2002-07-01 -0.011060737 1.17604e-04 1.08934e-04
2002-07-02 0.006543289 9.05658e-05 8.72709e-05
2002-07-03 0.003454995 5.51476e-05 5.65160e-05
2002-07-04 -0.010325115 6.18436e-05 6.01633e-05
2002-07-05 0.005268793 7.49235e-05 4.92564e-05
> class(mxts)
[1] "xts" "zoo"
>


第一列为日期列 非numeric类型 不能做第一个参数传递进去,字符也一样
另外也需要指定order.by
或者 mxts<-as.xts(realData[,-1],order.by =realData$Date) 也可以 -1表示不要第一列
[未知用户]
厉害 已经解决 多谢