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

Jefferson Ferreira-Ferreira jecogeo em gmail.com
Segunda Dezembro 1 14:33:28 BRST 2014


Marcos e Luis, muito obrigado pelas respostas.

No entanto, Luis, fiquei com uma dúvida na tua solução. Se puderes me
ajudar te agradeço.

A função que sugerisse movsum <- function(x,n=5){filter(x,rep(1,n),
sides=1)}, se entendi bem, é uma média móvel, certo? Estou com um pouco de
dificuldades de entender o que essa função faz. Tu Poderias me explicar
cada elemento dessa função, por favor?

Caso ela seja uma média móvel, eu de fato, não sei se seria a saída.

Vou colocar em termos simples meu objetivo.

inicio.enchente <- min(dados$diajuliano[which(dados$Nivel > 2 *por 45 dias
consecutivos* )])

Ou seja, o que determinara o dia juliano em que começa minhe enchente é um
nível d'água maior que 2cm por 45 dias consecutivos. E é justamente nesse
trecho em negrito que estou me debatendo. Sinceramente, acho que a saída
não seria uma média móvel.

O que acham??

Abraços!





Em Mon Dec 01 2014 at 10:16:04, Luis G. S. e Silva <lgsilvaesilva em gmail.com>
escreveu:

> 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
>  _______________________________________________
> 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.
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20141201/99b6540b/attachment.html>


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