将CSV文件转换为xts

时间:2013-04-26 20:20:24

标签: r xts

我有一个CSV文件,其中包含Unix时间戳中第一列的数据。如何直接将其转换为xts格式?目前我正在尝试使用as.xts读取文件并进行转换,但是每次尝试都会收到错误消息。

我使用的代码示例:

Data <- read.zoo("data.csv", index.column = 1, origin="01/01/1970",
                 sep = ",", header = TRUE, FUN = as.POSIXct)
as.xts(Data)

csv的第2行:

1366930371  143.7   0.25275
1366930368  143.7   0.02664867

1 个答案:

答案 0 :(得分:0)

可能有几件事情有误。首先,你的“csv”的前两行是以制表符分隔的,而不是逗号分隔的。接下来,指定header=TRUE,但前两行没有标题。第三,origin=的格式错误。它应该是yyyy-mm-dd

这有效:

library(xts)
Lines <- "1366978862,133.08,0.48180896
1366978862,133.08,0.5"
tc <- textConnection(Lines)
Data <- read.zoo(tc, sep=",", FUN=function(i) as.POSIXct(i, origin="1970-01-01"))
close(tc)
Data <- as.xts(Data)