[R-br] Numero de dias acima de um valor

Luis G. S. e Silva lgsilvaesilva em gmail.com
Segunda Dezembro 1 11:15:34 BRST 2014


require(dplyr)
movsum <- function(x,n=5){filter(x,rep(1,n), sides=1)}

dados <- read.csv2('dado.csv')
dados$Nivel <- as.numeric(as.character(xx$Nivel))

dadosNovo <- tbl_df(dados) %>%
  group_by(Date) %>%
  summarise(NivelMax = max(Nivel, na.rm=TRUE)) %>%
  mutate(Ind = as.numeric(NivelMax > 2)) %>%
  arrange(as.Date(Date, "%d/%m/%Y")) %>%
  mutate(DiasEnchente = movsum(Ind))

Em 30 de novembro de 2014 13:10, Marcos Silva <marcosfs2006 em gmail.com>
escreveu:

> Ainda não achei uma solução. Mas, caso eu tenha entendido o problema
> corretamente, cheguei até aqui:
>
> library(dplyr)
> setwd("E:\\")
> dados <- read.csv2("dado.csv")
> dados$Nivel <- as.numeric(as.character(dados$Nivel))
>
> dadosNovo <- tbl_df(dados) %>%
>                 group_by(Date) %>%
>                 summarise(NivelMax = max(Nivel, na.rm=TRUE)) %>%
>                 mutate(Ind = ifelse(NivelMax > 2, 1, 0)) %>%
>                 arrange(as.Date(Date, "%d/%m/%Y"))
>
> > head(dadosNovo, 3)
> Source: local data frame [3 x 3]
>
>         Date NivelMax Ind
> 1 01/02/2014     1.04   0
> 2 02/02/2014     1.04   0
> 3 03/02/2014     1.04   0
>
> A estratégia até até aqui foi: construir um novo data frame com o nível
> máximo em cada dia. Criar uma nova coluna com uma variável indicadora que
> recebe o valor 1 se o nível no dia é maior que 2.Fiz isso imaginando que
> poderia ser tranquilo contar as sequencias de 1, mas isso se mostrou não
> trivial. Bem, pelo menos eu não consegui ainda vislumbrar uma forma de
> fazer isso.
>
> Bem, pode ser que alguem tenha uma forma de fazer isso... e identificar os
> ínícios das enchentes...
>
> Caso eu consiga avançar, volto aqui.
>
> Abs.
>
>
>
> Em 28 de novembro de 2014 17:45, Jefferson Ferreira-Ferreira <
> jecogeo em gmail.com> escreveu:
>
>> Olá amigos!!
>>
>> Estou com uma questão que não estou sabendo como resolver. Eu tenho uma
>> série de dados de nivel d'água (3 vezes por dia). O que eu quero saber é em
>> qual data começa a enchente. Como o nível sofre algumas "pequenas
>> enchentes" que de fato não representam o real início da enchente, o que eu
>> preciso é saber em qual data começa o seguinte evento: nível > 2cm por 45
>> dias consecutivos. Isso porque se o nível permanecer por menos de 45 dias
>> consecutivos acima de 2cm eu não estou considerando isso como o início da
>> enchente, mas como uma subida intermitente da água. Outro complicador é que
>> preciso saber essa informação para cada um dos 10 equipamento (datalogger),
>> discriminado na culona que chamei de logger. Ou seja, a data (em dia
>> juliano) do início da enchente para cada logger.
>>
>> Em anexo envio os dados de apenas um dos meus aparelhos (logger == 1)
>>
>> Alguma ideia?
>>
>> _______________________________________________
>> R-br mailing list
>> R-br em listas.c3sl.ufpr.br
>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
>> código mínimo reproduzível.
>>
>
>
>
> --
> Marcos F. Silva
> http://sites.google.com/site/marcosfs2006
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código mínimo reproduzível.
>



-- 
Luís Gustavo Silva e Silva
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20141201/d3203168/attachment.html>


Mais detalhes sobre a lista de discussão R-br