我有像这样的xts表
Open High Low Close Volume
2011-09-13 5.80 6.00 5.65 5.97 5.837138e+01
2011-09-14 5.58 5.72 5.52 5.53 6.114598e+01
2011-09-15 5.12 5.24 5.00 5.13 8.014080e+01
2011-09-16 4.82 4.87 4.80 4.85 3.991401e+01
我通过write.zoo
将此表写入csv但是现在我想通过read.zoo再次读取这个表,它不起作用..
以下代码
indata <- read.zoo(file = "H:/UsersData/test.csv", header=TRUE, index.column = 1, format="%Y/%m/%d", tz="CET", sep = ',')
仍然是错误
Error in read.zoo(file = "test.csv", :
index has 2313 bad entries at data rows: 1 2 3 4 5 6 7 8 9 10 11 12
答案 0 :(得分:1)
关于test.csv
的内容究竟是什么,问题尚不明确。没有给出生成它的代码,只使用了write.zoo
,并且没有给出文件内容,尽管它可能是问题中的第一个代码块?
在没有明确可重复的输入定义的情况下,我们假设它是由最后的注释中的代码重复生成的。如果文件内容看起来与那个不同,则需要相应地修改读取它的代码。
在下面的代码中index = 0
表示输入将索引存储在rownames中。
我们不必指定:
"Date"
类索引,因为这是默认的format
,因为yyyy-mm-dd也是默认header
因为还有一个数据字段而不是标题字段,所以它会自动假设第一行是标题代码:
library(zoo)
read.zoo("test.csv", index = 0)
假设输入文件是这样生成的:
Lines <- '
Open High Low Close Volume
2011-09-13 5.80 6.00 5.65 5.97 5.837138e+01
2011-09-14 5.58 5.72 5.52 5.53 6.114598e+01
2011-09-15 5.12 5.24 5.00 5.13 8.014080e+01
2011-09-16 4.82 4.87 4.80 4.85 3.991401e+01
'
cat(Lines, file = "test.csv")