<div dir="ltr"><div class="gmail_extra">Bom dia,</div><div class="gmail_extra"><br></div><div class="gmail_extra">Existe a função rle() que é útil nesses casos.</div><div class="gmail_extra"><br></div><div class="gmail_extra">### <code r></div><div class="gmail_extra"><div class="gmail_extra"><font face="monospace, monospace">dat <- read.table(text='Horario              Nivel     Status</font></div><div class="gmail_extra"><font face="monospace, monospace">"01/01/2011 00:00"    29     0</font></div><div class="gmail_extra"><font face="monospace, monospace">"01/01/2011 00:01"    29     0</font></div><div class="gmail_extra"><font face="monospace, monospace">"01/01/2011 00:02"    30     1</font></div><div class="gmail_extra"><font face="monospace, monospace">"01/01/2011 00:03"    31     1</font></div><div class="gmail_extra"><font face="monospace, monospace">"01/01/2011 00:04"    29     0</font></div><div class="gmail_extra"><font face="monospace, monospace">"01/01/2011 00:05"    29     0</font></div><div class="gmail_extra"><font face="monospace, monospace">"01/01/2011 00:06"    29     0</font></div><div class="gmail_extra"><font face="monospace, monospace">"01/01/2011 00:07"    29     0</font></div><div class="gmail_extra"><font face="monospace, monospace">"01/01/2011 00:08"    30     1</font></div><div class="gmail_extra"><font face="monospace, monospace">"01/01/2011 00:09"    32     1</font></div><div class="gmail_extra"><font face="monospace, monospace">"01/01/2011 00:10"    34     1</font></div><div class="gmail_extra"><font face="monospace, monospace">"01/01/2011 00:11"    35     1</font></div><div class="gmail_extra"><font face="monospace, monospace">"01/01/2011 00:12"    35     1</font></div><div class="gmail_extra"><font face="monospace, monospace">"01/01/2011 00:13"    25     0', head=T, <a href="http://as.is">as.is</a>=T)</font></div><div class="gmail_extra"><font face="monospace, monospace"><br></font></div><div class="gmail_extra"><font face="monospace, monospace">dat$Horario <- as.POSIXlt(dat$Horario, format = '%d/%m/%Y %H:%M')</font></div><div class="gmail_extra"><font face="monospace, monospace">head(dat)</font></div><div class="gmail_extra"><font face="monospace, monospace"><br></font></div><div class="gmail_extra"><font face="monospace, monospace">res <- do.call(data.frame, rle(dat$Status))</font></div><div class="gmail_extra"><font face="monospace, monospace">n <- nrow(res)</font></div><div class="gmail_extra"><font face="monospace, monospace">res$ini <- c(1, cumsum(res$lengths[-n])+1)</font></div><div class="gmail_extra"><font face="monospace, monospace">res$fim <- cumsum(res$lengths)</font></div><div class="gmail_extra"><font face="monospace, monospace">res$timeDiff <- with(res, dat[fim,1]-dat[ini,1])</font></div><div class="gmail_extra"><font face="monospace, monospace">res</font></div><div class="gmail_extra"><font face="monospace, monospace">#   lengths values ini fim timeDiff</font></div><div class="gmail_extra"><font face="monospace, monospace"># 1       2      0   1   2  60 secs</font></div><div class="gmail_extra"><font face="monospace, monospace"># 2       2      1   3   4  60 secs</font></div><div class="gmail_extra"><font face="monospace, monospace"># 3       4      0   5   8 180 secs</font></div><div class="gmail_extra"><font face="monospace, monospace"># 4       5      1   9  13 240 secs</font></div><div class="gmail_extra"><font face="monospace, monospace"># 5       1      0  14  14   0 secs</font></div><div class="gmail_extra"><font face="monospace, monospace">                     </font></div><div class="gmail_extra"><font face="monospace, monospace">### encontrar os intervalos de tempo em que a variavel "Status" permanence no valor 1.</font></div><div class="gmail_extra"><font face="monospace, monospace">res[res$values==1,]</font></div><div class="gmail_extra"><font face="monospace, monospace">#   lengths values ini fim timeDiff</font></div><div class="gmail_extra"><font face="monospace, monospace"># 2       2      1   3   4  60 secs</font></div><div class="gmail_extra"><font face="monospace, monospace"># 4       5      1   9  13 240 secs</font></div><div class="gmail_extra"><font face="monospace, monospace">### </code></font></div><div class="gmail_extra"><br></div></div><div class="gmail_extra"><br></div><div class="gmail_extra">Éder Comunello <<a href="mailto:comunello.eder@gmail.com" target="_blank">c</a><a href="mailto:omunello.eder@gmail.com" target="_blank">omunello.eder@gmail.com</a>> <br>Dourados, MS - [22 16.5'S, 54 49'W]<br></div></div>