[R-br] RES: RES: Filtrar por data
É 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-boun...@listas.c3sl.ufpr.br [mailto:r-br-boun...@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 gble...@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-boun...@listas.c3sl.ufpr.br [mailto:r-br-boun...@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 gble...@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.
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 gble...@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-boun...@listas.c3sl.ufpr.br [mailto: r-br-boun...@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 gble...@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-boun...@listas.c3sl.ufpr.br [mailto: r-br-boun...@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 gble...@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