[R-br] Somar vendas por semana e por mês

Lucas Cusinato lucasbcr em gmail.com
Sábado Agosto 25 23:33:56 BRT 2012


Hugo,

Encontrei uma solução usando a cut(). Peguei uma lista enorme de domingos
para usá-los como pontos de corte (breaks) na cut(). Pode não ser a forma
mais eficiente, mas acho que é a mais simples até agora:

tt = read.csv2('tt.csv')
tt$DATA = as.Date(tt$DATA, '%d-%m-%Y')

### defini o domingo que inicia a primeira semana:
primeiro.domingo = as.numeric( as.Date('2003-11-02') )

### e um além do necessário pra não ter problemas:
ultimo.domingo = as.numeric( as.Date('2012-08-26') )

### fiz uma sequência de todos os domingos nesse intervalo
domingos = seq( primeiro.domingo, ultimo.domingo, 7 )

### e a usei como breaks na função cut()
tt$semana = as.numeric( cut(as.numeric(tt$DATA), breaks = domingos,
right=FALSE) )
## as.numeric() porque cut() só funciona com vetores numéricos
## right=F para que os domingos iniciem a semana, ou seja, criar classes do
tipo: [dom, sáb)

### aí finalmente vem o aggregate:
aggregate(tt$QTD, tt['semana'], sum)

# se tiver dúvida com relação ao as.numeric() em datas:
as.numeric( as.Date('1970-01-01') )
as.numeric( as.Date('1970-01-02') )
as.numeric( as.Date('1970-01-03') )

Não testei muito aqui, vê aí se funciona no resto dos dados mesmo.

Atenciosamente,
Lucas Cusinato


Em 25 de agosto de 2012 15:20, Leandro Marino <
leandromarino em leandromarino.com.br> escreveu:

> *Este outro também pode ajudar*
>
> http://stackoverflow.com/questions/6970588/r-optimal-extraction-of-weekday-week-month-from-dates-for-memory-compactne
>
>
>
> Em 25 de agosto de 2012 15:19, Leandro Marino <
> leandromarino em leandromarino.com.br> escreveu:
>
> *Hugo,*
>> *
>> *
>> *dê uma olhada neste topico...*
>> *
>> *
>> https://stat.ethz.ch/pipermail/r-help/2003-December/043610.html
>>
>>
>>
>>
>> Em 25 de agosto de 2012 15:15, Hugo Sena <hugosena em gmail.com> escreveu:
>>
>>>  @andrebvs<http://r-br.2285057.n4.nabble.com/template/NamlServlet.jtp?macro=user_nodes&user=373924>
>>>
>>> Muito obrigado pela ajuda. Quase, quase que resolve.
>>>
>>> Isto rebenta quando:
>>>    - Os dias 26 e 27 correspondem ambos à semana 48
>>>    - Quando se colocam vários meses baralha-se todo
>>>
>>> Para ver as semanas fui a este site:
>>> www.calendario-365.com.br/calend%C3%A1rio-2003.html
>>>
>>> Alguma ajuda e obrigado a todos.
>>>
>>> Cumps
>>>
>>> _______________________________________________
>>> 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.
>>>
>>
>>
>
> _______________________________________________
> 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/20120825/34aba3f1/attachment.html>


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