tt = read.csv2('tt.csv')Não testei muito aqui, vê aí se funciona no resto dos dados mesmo.
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') )
Este outro também pode ajudarEm 25 de agosto de 2012 15:19, Leandro Marino <leandromarino@leandromarino.com.br> escreveu:
Hugo,
dê uma olhada neste topico...
Em 25 de agosto de 2012 15:15, Hugo Sena <hugosena@gmail.com> escreveu:@andrebvs
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@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.