1

使用单独的程序,我每 5 分钟收集一次时间序列观察结果,然后每 5 分钟生成一个 CSV 文件,其中包括当月的所有 5 分钟观察结果。我试图在 R 程序中弄清楚如何将 CSV 文件中的“仅新”数据组合到现有的多年时间序列数据库中,该数据库已经包含当月的一些数据。我不想覆盖已经存在的现有数据,我只想将文件中的任何新时间序列观察结果添加到主数据库中。(注意:新数据可能并不总是新文件中的最后一行数据。)我需要某种类型的脚本来比较两个文件,然后添加新的内容。两个文件中的标题相同。我试过追加和合并,但看不到让它正常工作。

Monthly Data
DF[1:10,1:10]
             Date.Time PD0Binary PAR NitrateUM NitrateMGL Nlight Ndark Temp2m SpC2m Depth2m
1  2013-05-01 11:40:00        NA  NA        NA         NA     NA    NA     NA    NA      NA
2  2013-05-01 11:45:00        NA  NA        NA         NA     NA    NA     NA    NA      NA
3  2013-05-01 11:50:00        NA  NA        NA         NA     NA    NA     NA    NA      NA
4  2013-05-01 11:55:00        NA  NA        NA         NA     NA    NA     NA    NA      NA
5  2013-05-01 12:00:00        NA  NA        NA         NA     NA    NA     NA    NA      NA
6  2013-05-01 12:05:00        NA  NA        NA         NA     NA    NA     NA    NA      NA
7  2013-05-01 12:10:00        NA  NA        NA         NA     NA    NA     NA    NA      NA
8  2013-05-01 12:15:00        NA  NA        NA         NA     NA    NA     NA    NA      NA
9  2013-05-01 12:20:00        NA  NA        NA         NA     NA    NA     NA    NA      NA
10 2013-05-01 12:25:00        NA  NA        NA         NA     NA    NA     NA    NA      NA
4

1 回答 1

0

根据您提供的信息,我建议以下解决方案。

假设我们有两个 CSV 文件。旧的(例如包含 120 个条目)和新的 CSV 文件(例如包含 135 个条目),我们只想从中提取 15 个新条目。

  1. 用于max(...)查找最新的 Date.Time。max以下是如何使用日期时间的示例:

    lastEntry <- max(as.POSIXct("2013-05-23 11:20:00"), as.POSIXct("2013-05-23 11:30:00"),
                     as.POSIXct("2013-05-23 11:25:00"))
    lastEntry
    > [1] "2013-05-23 11:30:00 CEST"
    
  2. 从带有条件的新 CSV 文件创建数据的子集Date.Time > lastEntry

    newEntries <- subset(newCSVdata, Date.Time > lastEntry)
    
  3. newEntries现在包含 15 个新条目。将它们添加到您的数据库中。
于 2013-05-23T01:01:03.617 回答