私はこのようになります秒ごとの秒の値をCSV、持っている:R:欠落データのヒストグラム
"x","timestamp","value"
"1",2016-01-01 00:00:00,124
"2",2016-01-01 00:00:01,121
"3",2016-01-01 00:00:02,NA
"4",2016-01-01 00:00:03,NA
"5",2016-01-01 00:00:04,NA
"6",2016-01-01 00:00:05,123
"7",2016-01-01 00:00:06,122
"8",2016-01-01 00:00:07,124
"9",2016-01-01 00:00:08,NA
"10",2016-01-01 00:00:09,124
だから、いくつかのデータが欠落しているとNA
としてマークされています。今私は欠けているデータブロックの長さのヒストグラムを作りたいと思う。与えられた例では、長さが1 sec (1)
であり、2 sec (0)
であり、残りが3 sec (1)
であるなど、欠落しているデータブロックの数をカウントすることを意味します。私の実際のデータで
は、ビン/間隔は少し違うだろうし、私はこれらの8つのカテゴリを考える:
= 1 sec
2 to 5 sec
6 to 10 sec
11 to 30 sec
31 to 300 sec
301 to 3600 sec
3600 to 86400 sec
> 86400 sec
だから私の考えは、CSVのすべてのラインを介して実行RコードをできるようにしましたNA
の値を検出するたびに、実際の値を再び見つけるまで行数をカウントします。 8つのカテゴリは、NA
値のフィッティングブロックが検出されるたびに+1
とカウントアップされる整数変数です。
完全なR-noobとして、私はそれをどうやって行うのか分かりません。ヘルプは高く評価されるだろう:)
ランレングス符号化を使用してください。 '?rle'のヘルプを参照してください。 – Andrie