1

別のプログラムを使用して、5 分ごとに時系列の観測を収集し、5 分ごとに、当月の 5 分間の観測すべてを含む CSV ファイルを生成しています。Rプログラムで、CSVファイルの「新しい」データのみを、現在の月のデータの一部が既に含まれている既存の複数年時系列データベースに結合する方法を見つけようとしています。既に存在する既存のデータを上書きしたくありません。ファイルにあった新しい時系列観測をメイン データベースに追加したいだけです。(注: 新しいデータが常に新しいファイルのデータの最後の行であるとは限りません。) 2 つのファイルを比較し、新しいものを追加するスクリプトが必要です。ヘッダーは両方のファイルで同じです。追加とマージを試みましたが、それが正しく機能するかどうかわかりません。

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

あなたが提供した情報から、次の解決策を提案します。

2 つの 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 に答える