[R-br] RES: RES: RES: Filtrar por data

Gabriel Bruno de Lemos gblemos em usp.br
Domingo Outubro 14 21:18:24 BRT 2012


Daniel, agora sim!! Deu certo!

 

Valeu pela paciência!

 

ABs

 

Gabriel

 

De: r-br-bounces em listas.c3sl.ufpr.br
[mailto:r-br-bounces em listas.c3sl.ufpr.br] Em nome de Daniel C Bezerra
Enviada em: domingo, 14 de outubro de 2012 20:31
Para: r-br em listas.c3sl.ufpr.br
Assunto: Re: [R-br] RES: RES: Filtrar por data

 

Oi Gabriel, 

No seu output dá para ver o que aconteceu. O mês saiu com letra minúscula e
o seu R está em português e o meu em inglês.

Logo basta usar:

serie[grep("abr-10",serie)]

Abs,

D

2012/10/14 Gabriel Bruno de Lemos <gblemos em usp.br>

É bem estranho comigo! Rsrs... copiei exatamente os comandos abaixo e
continua gerando este resultado...

> ini=as.Date("1961-01-01",origin="1899-12-30",format="%Y-%m-%d")

> fim=as.Date("2010-12-31",origin="1899-12-30",format="%Y-%m-%d")

> serie=seq.Date(from=ini,to=fim,by="day")

> 

> serie<-format(serie,"%Y-%b-%d")

> sample(serie,10)

[1] "2001-ago-25" "1993-abr-22" "1967-mai-23" "2006-set-03" "1961-fev-23"
"1962-mai-13"

[7] "1992-ago-16" "1990-jun-22" "1966-ago-05" "1992-jun-12"

> serie[grep("Apr-10",serie)]

character(0)

 

 

Mas tranquilo... já me ajudou bastante... nunca tinha usado este comando
grep.. mais um para a “coleção!”.

 

Abs

 

Gabriel

 

 

 

De: r-br-bounces em listas.c3sl.ufpr.br
[mailto:r-br-bounces em listas.c3sl.ufpr.br] Em nome de Daniel C Bezerra
Enviada em: domingo, 14 de outubro de 2012 19:50
Para: r-br em listas.c3sl.ufpr.br
Assunto: Re: [R-br] RES: Filtrar por data

 

Vc formatou como eu sugeri?

Olha só:

ini=as.Date("1961-01-01",origin="1899-12-30",format="%Y-%m-%d")

fim=as.Date("2010-12-31",origin="1899-12-30",format="%Y-%m-%d")

serie=seq.Date(from=ini,to=fim,by="day")


serie<-format(serie,"%Y-%b-%d")

sample(serie,10)
 [1] "1967-Sep-24" "1975-Oct-12" "1969-Dec-23" "1962-Jan-24" "1979-Mar-27"
 [6] "1984-May-14" "1967-Sep-01" "1968-May-30" "1975-May-17" "2007-Jul-23"

serie[grep("Apr-10",serie)]
 [1] "1961-Apr-10" "1962-Apr-10" "1963-Apr-10" "1964-Apr-10" "1965-Apr-10"
 [6] "1966-Apr-10" "1967-Apr-10" "1968-Apr-10" "1969-Apr-10" "1970-Apr-10"
[11] "1971-Apr-10" "1972-Apr-10" "1973-Apr-10" "1974-Apr-10" "1975-Apr-10"
[16] "1976-Apr-10" "1977-Apr-10" "1978-Apr-10" "1979-Apr-10" "1980-Apr-10"
[21] "1981-Apr-10" "1982-Apr-10" "1983-Apr-10" "1984-Apr-10" "1985-Apr-10"
[26] "1986-Apr-10" "1987-Apr-10" "1988-Apr-10" "1989-Apr-10" "1990-Apr-10"
[31] "1991-Apr-10" "1992-Apr-10" "1993-Apr-10" "1994-Apr-10" "1995-Apr-10"
[36] "1996-Apr-10" "1997-Apr-10" "1998-Apr-10" "1999-Apr-10" "2000-Apr-10"
[41] "2001-Apr-10" "2002-Apr-10" "2003-Apr-10" "2004-Apr-10" "2005-Apr-10"
[46] "2006-Apr-10" "2007-Apr-10" "2008-Apr-10" "2009-Apr-10" "2010-Apr-10"

2012/10/14 Gabriel Bruno de Lemos <gblemos em usp.br>

Obrigado pela resposta Daniel... mas não funcionou... ao aplicar o comando
serie[grep("Apr-10",serie)] retorna “character(0)”

 

Abs

 

GAbriel

De: r-br-bounces em listas.c3sl.ufpr.br
[mailto:r-br-bounces em listas.c3sl.ufpr.br] Em nome de Daniel C Bezerra
Enviada em: domingo, 14 de outubro de 2012 17:50
Para: r-br em listas.c3sl.ufpr.br
Assunto: Re: [R-br] Filtrar por data

 

Eu resolveria assim:

serie<-format(serie,"%Y-%b-%d")

serie[grep("Apr-10",serie)]

Abs,

D

2012/10/14 Gabriel Bruno de Lemos <gblemos em usp.br>

Boa tarde!

 

Tenho um banco de dados com observações diárias durante um período de 50
anos. Desejo filtrar alguns períodos específicos, tais como todos os dias
10/04 de cada ano.

Alguém saberia como realizar tal busca por data?

A forma que utilizei para resolver no “jeitinho brasileiro” foi usar o Excel
para criar uma coluna com o dia e outra com o mês de cada data. Em seguida,
no R, faço uma busca usando o comando

 

## Datas

ini=as.Date("1961-01-01",origin="1899-12-30",format="%Y-%m-%d")

fim=as.Date("2010-12-31",origin="1899-12-30",format="%Y-%m-%d")

serie=seq.Date(from=ini,to=fim,by="day")

 

## Criei o “dados_excel” no Excel usando as funções “Dia()” e “Mês”. Em
seguida criei a “tabela” no R adicionando estes dois vetores à série “Data”.

 

tabela <- data.frame(serie,dados_excel)

head(tabela)

#  dados.Data Dia Mes  Ano

#1 1961-01-01   1   1 1961

#2 1961-01-02   2   1 1961

#3 1961-01-03   3   1 1961

#4 1961-01-04   4   1 1961

#5 1961-01-05   5   1 1961

#6 1961-01-06   6   1 1961

 

head(tabela[tabela$Dia==10 & tabela$Mes==4,])

#      dados.Data Dia Mes  Ano
#100   1961-04-10  10   4 1961
#465   1962-04-10  10   4 1962
#830   1963-04-10  10   4 1963
#1196  1964-04-10  10   4 1964
#1561  1965-04-10  10   4 1965
#1926  1966-04-10  10   4 1966

 

Este mecanismo funcionou mas gostaria de saber se existe algo mais
automatizado.

Obs: O código acima só será reproduzível se  for criado os vetores “Dia” e
“Mes” (que eu não fiz no R)

 

Att,

 

 

 

 

 


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

 


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

 


_______________________________________________
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/20121014/7b160168/attachment-0001.html>


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