r语言xts为什么不能直接计算

Python013

r语言xts为什么不能直接计算,第1张

在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

试图利用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里加工好,然后复制到txt文本里,再把后缀名改为.csv。设置好目录后,加载xts包,直接输入as.xts(read.zoo(‘name.csv’,header=T))就OK了,可以通过head()查看是否正确。

我以前是在excel里另存为csv格式,百度上说CSV档如果以EXCEL开启,由于计算机档案数据转换的原因,会将其CRC之数值改做科学记号方式储存,而造成档案中的 CRC值发生错误。R语言的基础包中提供了两种类型的时间数据,一类是Date日期数据,它不包括时间和时区信息,另一类是POSIXct/POSIXlt类型数据,其中包括了日期、时间和时区信息。一般来讲,R语言中建立时序数据是通过字符型转化而来,但由于时序数据形式多样,而且R中存贮格式也是五花八门,例如Date/ts/xts/zoo/tis/fts等等。lubridate包,timeDate包,都有用。看来还要多学习啊。