Numero de dias acima de um valor

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?

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@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@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

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@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@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@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@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

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@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@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@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@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@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@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.

Jefferson, Talvez a função rle() possa te ajudar a resolver isso. Segue um exemplo: set.seed(12345) dados <- cumsum(rnorm(10000, 0, 10)) analise <- rle(dados > 100) inicio <- cumsum(analise$length) - analise$length + 1 resultado <- data.frame(inicio = inicio, valor = analise$values, seguidos = analise$length) subset(resultado, valor == TRUE & seguidos > 45) 2014-12-01 14:33 GMT-02:00 Jefferson Ferreira-Ferreira <jecogeo@gmail.com>:
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@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@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@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@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@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@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.
_______________________________________________ R-br mailing list R-br@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.

Jefferson, A função movsum é uma soma móvel, com janela de tamanho 45. Segue um pequeno exemplo dela: movsum(rep(1, 20), 5) [1] NA NA NA NA 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 Caso fosse uma média móvel o resultado seria 1 ao invés de 5. filter(1:9, rep(1, 3), sides = 1) [1] NA NA 6 9 12 15 18 21 24 Note que estamos fazendo uma soma acumulada em janelas de tamanho 3. Como as duas primeiras posições não formam uma janela de tamanho 3 é atribuído NA para elas. 1+2+3 = 6 2+3+4 = 9 ... Na minha resposta anteriormente eu esqueci de modificar a função, ele deveria ser definida com n=45 movsum <- function(x,n=45){filter(x,rep(1,n), sides=1)} Espero ter ajudado. Um abraço Em 1 de dezembro de 2014 14:57, Rodrigo Coster <rcoster@gmail.com> escreveu:
Jefferson,
Talvez a função rle() possa te ajudar a resolver isso. Segue um exemplo:
set.seed(12345) dados <- cumsum(rnorm(10000, 0, 10))
analise <- rle(dados > 100) inicio <- cumsum(analise$length) - analise$length + 1
resultado <- data.frame(inicio = inicio, valor = analise$values, seguidos = analise$length) subset(resultado, valor == TRUE & seguidos > 45)
2014-12-01 14:33 GMT-02:00 Jefferson Ferreira-Ferreira <jecogeo@gmail.com> :
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@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@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@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@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@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@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.
_______________________________________________ R-br mailing list R-br@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.
_______________________________________________ R-br mailing list R-br@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

A função rle() é a função que faltava... e eu tentando reinventar a roda... :) Abs. Em 1 de dezembro de 2014 15:20, Luis G. S. e Silva <lgsilvaesilva@gmail.com> escreveu:
Jefferson,
A função movsum é uma soma móvel, com janela de tamanho 45. Segue um pequeno exemplo dela:
movsum(rep(1, 20), 5) [1] NA NA NA NA 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
Caso fosse uma média móvel o resultado seria 1 ao invés de 5.
filter(1:9, rep(1, 3), sides = 1) [1] NA NA 6 9 12 15 18 21 24
Note que estamos fazendo uma soma acumulada em janelas de tamanho 3. Como as duas primeiras posições não formam uma janela de tamanho 3 é atribuído NA para elas.
1+2+3 = 6 2+3+4 = 9 ...
Na minha resposta anteriormente eu esqueci de modificar a função, ele deveria ser definida com n=45
movsum <- function(x,n=45){filter(x,rep(1,n), sides=1)}
Espero ter ajudado.
Um abraço
Em 1 de dezembro de 2014 14:57, Rodrigo Coster <rcoster@gmail.com> escreveu:
Jefferson,
Talvez a função rle() possa te ajudar a resolver isso. Segue um exemplo:
set.seed(12345) dados <- cumsum(rnorm(10000, 0, 10))
analise <- rle(dados > 100) inicio <- cumsum(analise$length) - analise$length + 1
resultado <- data.frame(inicio = inicio, valor = analise$values, seguidos = analise$length) subset(resultado, valor == TRUE & seguidos > 45)
2014-12-01 14:33 GMT-02:00 Jefferson Ferreira-Ferreira <jecogeo@gmail.com
:
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@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@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@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@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@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@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.
_______________________________________________ R-br mailing list R-br@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.
_______________________________________________ R-br mailing list R-br@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@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

Pessoal, muito obrigado pelas dicas. Eu achei que o rle() seria realmente a solução. Mas existe um problema: eu vou precisar dessa informação (o dia em que começa a enchente) dentro da dataframe oroginal para poder prosseguir nas análises. Como o rle me retorna um objeto da classe rle de menor length, não tenho como juntá-la na dataframe (ou ao menos não pude pensar em nenhuma solução). a solução que encontrei foi a seguinte: for (i in nrow(dadosmax)){ dadosmax$enchday[i] <- if (sum(dadosmax$above[i:(i+44)]) >= 45) 1 else 0 } o trecho dadosmax$enchday[i] <- if (sum(dadosmax$above[i:(i+44)]) >= 45) 1 else 0, funciona perfeitamete. Fiz vários testes atribuindo valores ao i. No entanto, isto não está funcionando dentro do for. Ele me retorna o seguinte erro: Error in if (sum(dadosmax$above[i:(i + 44)]) < 45) 1 else 0 : missing value where TRUE/FALSE needed Estou achando que esse erro decorre do fato de que ao final da data frame, não há mais 45 linhas a serem somadas. Eu tentei usar o try(if...else, silent=T), mas isso simplesmente esconde o erro e não faz os calculos... Enfim, se alguém tiver alguma ideia, agradeço. Abraços! Em Mon Dec 01 2014 at 16:15:38, Marcos Silva <marcosfs2006@gmail.com> escreveu: A função rle() é a função que faltava... e eu tentando reinventar a roda...
:)
Abs.
Em 1 de dezembro de 2014 15:20, Luis G. S. e Silva < lgsilvaesilva@gmail.com> escreveu:
Jefferson,
A função movsum é uma soma móvel, com janela de tamanho 45. Segue um pequeno exemplo dela:
movsum(rep(1, 20), 5) [1] NA NA NA NA 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
Caso fosse uma média móvel o resultado seria 1 ao invés de 5.
filter(1:9, rep(1, 3), sides = 1) [1] NA NA 6 9 12 15 18 21 24
Note que estamos fazendo uma soma acumulada em janelas de tamanho 3. Como as duas primeiras posições não formam uma janela de tamanho 3 é atribuído NA para elas.
1+2+3 = 6 2+3+4 = 9 ...
Na minha resposta anteriormente eu esqueci de modificar a função, ele deveria ser definida com n=45
movsum <- function(x,n=45){filter(x,rep(1,n), sides=1)}
Espero ter ajudado.
Um abraço
Em 1 de dezembro de 2014 14:57, Rodrigo Coster <rcoster@gmail.com> escreveu:
Jefferson,
Talvez a função rle() possa te ajudar a resolver isso. Segue um exemplo:
set.seed(12345) dados <- cumsum(rnorm(10000, 0, 10))
analise <- rle(dados > 100) inicio <- cumsum(analise$length) - analise$length + 1
resultado <- data.frame(inicio = inicio, valor = analise$values, seguidos = analise$length) subset(resultado, valor == TRUE & seguidos > 45)
2014-12-01 14:33 GMT-02:00 Jefferson Ferreira-Ferreira < jecogeo@gmail.com>:
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@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@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@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@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@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@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.
_______________________________________________ R-br mailing list R-br@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.
_______________________________________________ R-br mailing list R-br@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@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@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.

Jefferson, Da para fazer usando o resultado do rle(). Segue um exemplo: set.seed(12345) dados <- cumsum(rnorm(1000, 0, 10)) dados[380] <- 399 # Só para ter um menor que 400 no meio de 2 maiores analise <- rle(dados > 400) inicio <- cumsum(analise$length) - analise$length + 1 resultado <- data.frame(inicio = inicio, valor = analise$values, seguidos = analise$length) cheias <- subset(resultado, valor == TRUE & seguidos > 45) dados_categoria <- rep('Não cheia', 1000) for (i in 1:nrow(cheias)) { n <- cheias[i,3] dados_categoria[0:(n-1) + cheias[i,1]] <- rep('Cheias', n) } data.frame(dados, dados_categoria) # Dados originais e categorizados. 2014-12-02 15:58 GMT-02:00 Jefferson Ferreira-Ferreira <jecogeo@gmail.com>:
Pessoal, muito obrigado pelas dicas. Eu achei que o rle() seria realmente a solução.
Mas existe um problema: eu vou precisar dessa informação (o dia em que começa a enchente) dentro da dataframe oroginal para poder prosseguir nas análises. Como o rle me retorna um objeto da classe rle de menor length, não tenho como juntá-la na dataframe (ou ao menos não pude pensar em nenhuma solução).
a solução que encontrei foi a seguinte:
for (i in nrow(dadosmax)){ dadosmax$enchday[i] <- if (sum(dadosmax$above[i:(i+44)]) >= 45) 1 else 0 }
o trecho dadosmax$enchday[i] <- if (sum(dadosmax$above[i:(i+44)]) >= 45) 1 else 0, funciona perfeitamete. Fiz vários testes atribuindo valores ao i. No entanto, isto não está funcionando dentro do for. Ele me retorna o seguinte erro:
Error in if (sum(dadosmax$above[i:(i + 44)]) < 45) 1 else 0 : missing value where TRUE/FALSE needed
Estou achando que esse erro decorre do fato de que ao final da data frame, não há mais 45 linhas a serem somadas. Eu tentei usar o try(if...else, silent=T), mas isso simplesmente esconde o erro e não faz os calculos...
Enfim, se alguém tiver alguma ideia, agradeço. Abraços!
Em Mon Dec 01 2014 at 16:15:38, Marcos Silva <marcosfs2006@gmail.com> escreveu:
A função rle() é a função que faltava... e eu tentando reinventar a
roda... :)
Abs.
Em 1 de dezembro de 2014 15:20, Luis G. S. e Silva < lgsilvaesilva@gmail.com> escreveu:
Jefferson,
A função movsum é uma soma móvel, com janela de tamanho 45. Segue um pequeno exemplo dela:
movsum(rep(1, 20), 5) [1] NA NA NA NA 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
Caso fosse uma média móvel o resultado seria 1 ao invés de 5.
filter(1:9, rep(1, 3), sides = 1) [1] NA NA 6 9 12 15 18 21 24
Note que estamos fazendo uma soma acumulada em janelas de tamanho 3. Como as duas primeiras posições não formam uma janela de tamanho 3 é atribuído NA para elas.
1+2+3 = 6 2+3+4 = 9 ...
Na minha resposta anteriormente eu esqueci de modificar a função, ele deveria ser definida com n=45
movsum <- function(x,n=45){filter(x,rep(1,n), sides=1)}
Espero ter ajudado.
Um abraço
Em 1 de dezembro de 2014 14:57, Rodrigo Coster <rcoster@gmail.com> escreveu:
Jefferson,
Talvez a função rle() possa te ajudar a resolver isso. Segue um exemplo:
set.seed(12345) dados <- cumsum(rnorm(10000, 0, 10))
analise <- rle(dados > 100) inicio <- cumsum(analise$length) - analise$length + 1
resultado <- data.frame(inicio = inicio, valor = analise$values, seguidos = analise$length) subset(resultado, valor == TRUE & seguidos > 45)
2014-12-01 14:33 GMT-02:00 Jefferson Ferreira-Ferreira < jecogeo@gmail.com>:
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@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@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@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@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@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@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.
_______________________________________________ R-br mailing list R-br@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.
_______________________________________________ R-br mailing list R-br@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@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@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.
_______________________________________________ R-br mailing list R-br@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.
participantes (4)
-
Jefferson Ferreira-Ferreira
-
Luis G. S. e Silva
-
Marcos Silva
-
Rodrigo Coster