读取c中的csv文件和处理时间序列

时间:2015-02-10 09:23:57

标签: r datetime csv optimization time-series

我正在尝试读取包含数据集(时间序列)的不同csv文件,然后处理它以按日期合并所有收盘价。

我实现了我的目标,但由于我不是R的专家,我想知道是否有更好的方法来做到这一点。

我们应该考虑到:

  1. 每个文件包含超过100万行。
  2. 文件行数不同(file1 = 1.000.000,file2 = 1.200.00)
  3. “日期”和“时间”是不同的列,然后我需要合并它们以在单个列中获得“日期时间”。
  4. 这是我的代码:

    1.Read文件我正在为每个文件执行

    eur = read.csv(file = "myFile1.csv", 
                   header = FALSE, 
                   sep = ",", 
                   dec = ".")
    
    names(eur)=c("date","time","high", "low", "open", "close", "vol")
    

    2。合并“日期”和“时间”列以获取“日期时间”列

    timestamp <- strptime(paste(eur$date, eur$time), format="%Y.%m.%d %H:%M")
    timestamp = data.frame(timestamp)
    eurNuevo <- cbind(timestamp,eur$close)
    names(eurNuevo)=c("datetime","close")
    

    此时,由于每个文件包含不同的行数,因此无法执行cbind,因为它显示错误。所以我认为我可以将每个向量转换为时间序列对象,然后将其合并并删除na行。

    第3。转换为TS,然后将其合并

    eurts = ts(eurNuevo)                # time series 
    pairs = ts.union(eurts,another_ts)  # Union by date 
    pairs = na.omit(pairs)              # Delete NA
    

    我认为它应该有另一种方法来做得更好更快。如果有人能帮助我,我将不胜感激。

0 个答案:

没有答案