【问题标题】:How to convert csv to R's xts object?如何将 csv 转换为 R 的 xts 对象?
【发布时间】:2014-10-10 10:52:45
【问题描述】:

有人知道如何将其转换为 xts R 对象吗?

#format: symbol,interval,date,time,open,high,low,close,,
# cat test.csv
AD.F,5,20141008,093500,0.8736,0.8738,0.8732,0.8733,0,0
AD.F,5,20141008,094000,0.8732,0.8736,0.8731,0.8735,0,0
AD.F,5,20141008,094500,0.8736,0.8737,0.8733,0.8737,0,0
AD.F,5,20141008,095000,0.8736,0.8747,0.8736,0.8746,0,0
AD.F,5,20141008,095500,0.8746,0.8748,0.8742,0.8743,0,0
AD.F,5,20141008,100000,0.8744,0.875,0.8742,0.8747,0,0
AD.F,5,20141008,100500,0.8747,0.8747,0.874,0.8745,0,0
AD.F,5,20141008,101000,0.8744,0.8744,0.874,0.8743,0,0
AD.F,5,20141008,101500,0.8744,0.875,0.8744,0.875,0,0
AD.F,5,20141008,102000,0.8751,0.8752,0.8746,0.8751,0,0

我试过read.csv(),但时间格式有问题(read.csv 将时间转换为数字,例如从“091500”到 91500)。

【问题讨论】:

    标签: r datetime xts


    【解决方案1】:

    我们可以使用colClasses 指定日期和时间列被视为字符。这也处理索引。如果第 1 列中有多个值,则它将每个值拆分为单独的列:

    library(zoo)
    z <- read.zoo("input.csv", sep = ",", split = 1, index = 3:4, tz = "", 
          format = "%Y%m%d %H%M%S", colClasses = rep( c(NA, "character", NA), c(2, 2, 6)))
    

    这可以通过 as.xts(z) 转换为 xts。有关更多信息,请参阅 read.zoo 和动物园小插图 Reading Data in zoo 上的帮助文件。

    或者,使用相同的 colClassesread.table

    【讨论】:

      猜你喜欢
      • 2016-01-07
      • 1970-01-01
      • 2017-10-30
      • 1970-01-01
      • 2014-05-17
      • 1970-01-01
      • 2021-11-12
      • 2020-07-16
      • 2011-06-12
      相关资源
      最近更新 更多