У меня есть данные, которые имеют два параметра, это данные/время и поток. Данные потока являются прерывистым потоком. Предположим, что временами происходит нулевой поток, и внезапно начинается поток, и на какое-то время будут ненулевые значения, а затем поток снова будет равен нулю. Я хочу понять, когда возникают ненулевые значения и как долго длится каждый ненулевой поток. Я приложил образец данных в этом месте https://www.dropbox.com/s/ef1411dq4gyg0cm/sampledataflow.csvНайти ненулевые значения и частоту этих значений в R
Данные - 1 минута данных.
я был в состоянии импортировать данные в R следующим образом:
flow <- read.csv("sampledataflow.csv")
summary(flow)
names(flow) <- c("Date","discharge")
flow$Date <- strptime(flow$Date, format="%m/%d/%Y %H:%M")
sapply(flow,class)
plot(flow$Date, flow$discharge,type="l")
Я сделал сюжет, чтобы увидеть распределение, но не может получить подсказку, где начать, чтобы получить частоту каждого ненулевых значений. Я хотел бы видеть таблицу результатов следующим образом:
Date Duration in Minutes
Пожалуйста, дайте мне знать, если я здесь не ясен. Благодарю.
Дополнительная информация:
Я думаю, что мы должны проверить ненулевое значение первого, а затем найти сколько не нулевое значение там непрерывно, прежде чем он достигнет нулевого значения снова есть. То, что я хочу понять, это длительность выпуска потока. Напр. за один день может быть несколько выпусков, и я хочу отметить, в какое время начался выпуск и как долго он продолжался до того, как он достиг нулевого значения. Надеюсь, это объяснит проблему немного лучше.
Выполнить Длина кодирование с использованием 'rle'? например, 'rle (flow $ discharge)'? – mnel
Ваши данные состоят всего из 33 тысяч нечетных значений. Rest имеют 'Timestamp =" "' и 'flow = NA' – Arun
Arun, это всего лишь образец, я не загрузил все данные. На самом деле, у меня около 230 тыс. Данных. Я добавил дополнительную информацию о своем оригинальном посте. –