У меня есть 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)
и так далее.
В моих данных реальной жизни, установленных бункера/интервалы будут немного по-другому, я думаю, что из этих восьми категорий:
= 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
Так что моя идея состояла в том, чтобы позволить R кода запуска через все строки в CSV и всякий раз, когда он обнаруживает значение NA
, подсчитывать строки до тех пор, пока он снова не найдет реальное значение. Восемь категорий могут быть целочисленными переменными, которые подсчитываются до +1
каждый раз, когда обнаружен подходящий блок из NA
-значений.
Как полный R-noob, я просто понятия не имею, как это сделать. Помощь будет высоко оценена :)
Использовать кодировку длины прогона. См. Справку для '? Rle'. – Andrie