[R-br] Extrair Período de datas

Amiko Bh amikobh em gmail.com
Segunda Janeiro 23 18:13:45 BRST 2017


Prezados,

Muito obrigado pela ajuda.
Meu banco de dados tem entrada em todos os dias de 2016.
Assim, preciso criar um outro banco, a partir deste, cujo critério de
extração sejam todas as linhas (da variável data de entrada) que contenham
todos os dias referente ao carnaval 2016: 05/02/2016 a 10/02/2016, no meu
caso...


Em 23 de jan de 2017 16:41, "Cesar Rabak via R-br" <r-br em listas.c3sl.ufpr.br>
escreveu:

> Salah,
>
> Suspeito que o uso da função month seja insuficiente para o Amiko (OP),
> posto que ele não especifica a faixa de anos que o banco de dados dele
> abarca, e por outro lado as datas do Carnaval são "feriados móveis".
>
> Ademais, como ele fala em "período de Carnaval", cuja definição é bastante
> frouxa (alguns contam a partir do "grito de carnaval" (sábado) outros
> contam apenas a segunda que antecede a terça de Carnaval, etc.
>
> Com isso ele teria que gerar uma tabela com todos os Carnavais do período
> compreendido entre a mínima e máxima data do banco de dados dele, e depois
> usar subset. Para *um* período, um exemplo pronto (admitindo que o
> costume desta lista não é violado ao postar exemplos do SO):
> http://stackoverflow.com/questions/22420487/subsetting-
> data-table-set-by-date-range-in-r
>
> Para achar os períodos de Carnaval para os vários anos eu recomendo uma
> leitura do manual do pacote timeDate, que permite encontrar as datas móveis
> (dica para os pesquisadores de Google para este caso: procurem pesquisar,
> se em inglês, por « Ash Wednesday » em vez de "Carnival", porque este
> último coincide com trocentos outros assuntos enquanto a quarta-feira de
> cinzas é menos ruidosa para pesquisa).
>
> HTH
> --
> Cesar Rabak
>
>
> On Mon, Jan 23, 2017 at 3:19 PM, salah via R-br <r-br em listas.c3sl.ufpr.br>
> wrote:
>
>> Olá
>>
>> Uma das alternativas é usar a função <month> da biblioteca {data.table}
>>
>> exemplo adaptado do site:
>>
>> http://stackoverflow.com/questions/17244077/select-subset-by
>> -date-in-r#17246437
>>
>> library(data.table)
>>
>> ## dados
>> n.child = as.numeric(c(1,2,3,4,5,6))
>> sex = as.factor(c("f","f","f","m","m","f"))
>> date = as.Date(c("01/01/2002", "01/12/2002", "13/02/2003", "17/02/2003",
>> "03/01/2004", "09/09/2004"), format="%d/%m/%Y")
>> DF = data.frame(n.child, sex, date)
>>
>> ## ----- dataframe -----
>> fev = DF[month(DF$date) == 2,]
>> fev
>>
>> ## ----- data.table -----
>> ## converte para "data.table"
>> DT = data.table(DF)
>>
>> ## seleciona mes fevereiro, mes 2
>> fev = DT[month(date) == 2]
>> fev
>>
>> ## converte para dataframe
>> setDF(fev)
>> fev
>>
>> o data.table é muito mais eficiente para manipulação de uma base de dados
>>
>> saudações
>>
>> _______________________________________________
>> 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 fornea
>> cdigo mnimo reproduzvel.
>
>
>
> _______________________________________________
> 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/20170123/65068409/attachment.html>


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