
Eu resolveria assim: serie<-format(serie,"%Y-%b-%d") serie[grep("Apr-10",serie)] Abs, D 2012/10/14 Gabriel Bruno de Lemos <gblemos@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@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.