我的.csv文件包含以下格式的股票价格
Date Open High Low Close
3/7/2014 10:15 228.28 236.58 228.23 236.18
3/7/2014 11:15 236.23 241.27 236.09 241.14
3/7/2014 12:15 241.1 246.12 241.1 242.96
3/7/2014 13:15 242.84 243.92 242 242.32
当我运行以下脚本时:
test <- as.xts(read.zoo(mytest.csv', header=T, fill=T, index.column = 1, row.names=NULL,stringsAsFactors = FALSE, sep="",format="%m/%d/%y %H:%M", tz=""))
显示以下错误
read.zoo错误(&#34; mydata.csv&#34;,header = T,fill = T,index.column = 1,:索引在数据行中有错误的条目:1 2 3 4 5 6 7 8
答案 0 :(得分:1)
我不确定从哪里获得as.xts
函数,但我看到了将数据导入R所需的两个小修补程序。
首先,您应该为时间添加一个额外的变量名称,因为read.zoo
函数使用与read.table
相同的分隔符,因此如果您希望它与标题一起使用,那么每个列都需要一个名称
Date Time Open High Low Close
3/7/2014 10:15 228.28 236.58 228.23 236.18
3/7/2014 11:15 236.23 241.27 236.09 241.14
3/7/2014 12:15 241.1 246.12 241.1 242.96
3/7/2014 13:15 242.84 243.92 242 242.32
其次,您可以在上面的文件中阅读如下
library(zoo)
indata <- read.zoo("mydata.csv", header=TRUE, index.column = 1:2, format="%m/%d/%Y %H:%M", tz="CET")
请注意,由于日期/时间分为两列,因此会给出两个索引。另外,我认为日期/时间转换需要tz
才能生效。无论如何,上面给出了
> indata
Open High Low Close
2014-03-07 10:15:00 228.28 236.58 228.23 236.18
2014-03-07 11:15:00 236.23 241.27 236.09 241.14
2014-03-07 12:15:00 241.10 246.12 241.10 242.96
2014-03-07 13:15:00 242.84 243.92 242.00 242.32
可以传递给其他R函数。