使用一个单独的程序,我每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
根据您提供的信息,我建议以下解决方案:
假设有两个CSV文件。旧的CSV文件(例如包含120个条目)和新的CSV文件(例如包含135个条目),我们只想从中提取15个新条目。
-
使用
max(...)
查找最新的Date.Time。下面是max
如何使用Date-time的示例: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"
-
从新的CSV文件创建一个数据子集,条件为
Date.Time > lastEntry
newEntries <- subset(newCSVdata, Date.Time > lastEntry)
-
newEntries
现在包含15个新条目。将它们添加到您的数据库中。