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

2012-10-14 Por tôpico Gabriel Bruno de Lemos
É 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

2012-10-14 Por tôpico Daniel C Bezerra
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