のタイムスタンプが見つからないため、私はRで今すぐ最初のステップを実行しようとしています。問題はこれです:私は、データの半年で秒単位のCSVファイルを持って、それは次のようになります。R:データサイズのためにPHP/MySQLまたはExcelの問題を解決できなかったため、csv
metering,timestamp
123,2016-01-01 00:00:00
345,2016-01-01 00:00:01
243,2016-01-01 00:00:02
101,2016-01-01 00:00:04
134,2016-01-01 00:00:06
ご覧のとおり、いくつかの秒(しばらく一度の欠落があります私に尋ねないでください、値がタイムスタンプの前に書かれているのはなぜですか?それがデータを受け取った方法です...)。今、値の量(=秒)を計算しようとしています。
だから私の考えは新しいベクトルを持つファイル、および
- ました価値のないすべてのタイムスタンプをアップする。
:"1",2016-01-01 00:00:00 "2",2016-01-01 00:00:01 "3",2016-01-01 00:00:02 "4",2016-01-01 00:00:03 "5",2016-01-01 00:00:04 "6",2016-01-01 00:00:05 "7",2016-01-01 00:00:06
RegularTimeSeries <- seq(as.POSIXct("2016-01-01 00:00:00", tz = "UTC"), as.POSIXct("2016-01-01 00:00:30", tz = "UTC"), by = "1 sec") write.csv(RegularTimeSeries, file = "RegularTimeSeries.csv")
は、私もこのようになりますCSVへのベクトルをエクスポート私がやったアイデアを持っている:
は、私は、ステップ1は、次のコードで実現するために管理しました
残念ながら私はステップ2と3を続行する方法がわかりません。非常によく似た例がいくつか見つかりましたが(http://www.r-bloggers.com/fix-missing-dates-with-r/、R: Insert rows for missing dates/times)、私はこれらの例を自分のsec-by-secデータに変換するのに苦労しました。
新参者のためのいくつかのヒントは非常に非常に役立つだろう - 事前にどうもありがとうございました:)
よく、私はあなたのメスod、その前の値でタイムスタンプを減算するだけです。 1より大きい場合は、値を出力します。他の賢明なそれを残す。しばらくの間にコードを共有します。 –
ありがとうございます!はい、私が持っているデータの行で「秒」を差し引くのが最も明白な解決策です(私はこの考えが正直ではないことを明らかにしています)。とにかく、データの最長停電がどこで発生したか、どこでどのくらいの時間がかかったかなどを調べるなど、何らかのさらなる分析が私の心に残っていました。これを行うには、とにかく「NA」の値を持つデータセットが必要です。しかし、最初のステップでは、あなたのソリューションは、もちろん簡単です:) – Bene
答えとして私のコードを与えました、ベネ。チェックして助けてくれたら教えてください –