
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,

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.

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@listas.c3sl.ufpr.br [mailto:r-br-bounces@listas.c3sl.ufpr.br] Em nome de Daniel C Bezerra Enviada em: domingo, 14 de outubro de 2012 17:50 Para: r-br@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@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.

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@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@listas.c3sl.ufpr.br [mailto: r-br-bounces@listas.c3sl.ufpr.br] *Em nome de *Daniel C Bezerra *Enviada em:* domingo, 14 de outubro de 2012 17:50 *Para:* r-br@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@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.****
** **
_______________________________________________ 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.

É 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@listas.c3sl.ufpr.br [mailto:r-br-bounces@listas.c3sl.ufpr.br] Em nome de Daniel C Bezerra Enviada em: domingo, 14 de outubro de 2012 19:50 Para: r-br@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@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@listas.c3sl.ufpr.br [mailto:r-br-bounces@listas.c3sl.ufpr.br] Em nome de Daniel C Bezerra Enviada em: domingo, 14 de outubro de 2012 17:50 Para: r-br@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@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. _______________________________________________ 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.

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@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@listas.c3sl.ufpr.br [mailto: r-br-bounces@listas.c3sl.ufpr.br] *Em nome de *Daniel C Bezerra *Enviada em:* domingo, 14 de outubro de 2012 19:50 *Para:* r-br@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@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@listas.c3sl.ufpr.br [mailto: r-br-bounces@listas.c3sl.ufpr.br] *Em nome de *Daniel C Bezerra *Enviada em:* domingo, 14 de outubro de 2012 17:50 *Para:* r-br@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@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.****
****
_______________________________________________ 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.

Daniel, agora sim!! Deu certo! Valeu pela paciência! ABs Gabriel De: r-br-bounces@listas.c3sl.ufpr.br [mailto:r-br-bounces@listas.c3sl.ufpr.br] Em nome de Daniel C Bezerra Enviada em: domingo, 14 de outubro de 2012 20:31 Para: r-br@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@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@listas.c3sl.ufpr.br [mailto:r-br-bounces@listas.c3sl.ufpr.br] Em nome de Daniel C Bezerra Enviada em: domingo, 14 de outubro de 2012 19:50 Para: r-br@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@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@listas.c3sl.ufpr.br [mailto:r-br-bounces@listas.c3sl.ufpr.br] Em nome de Daniel C Bezerra Enviada em: domingo, 14 de outubro de 2012 17:50 Para: r-br@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@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. _______________________________________________ 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 (2)
-
Daniel C Bezerra
-
Gabriel Bruno de Lemos