Olá Augusto, me desculpa pela demora em responder mas eu estava testando se eu havia entendido! E deu certo!

Muito obrigada pelas dicas!!!



Em 10 de novembro de 2015 11:08, Augusto Ribas <ribas.aca@gmail.com> escreveu:
Ola.

Talvez se você informar como está lendo seu dados ajude, imagino que está tudo como charater, mas você pode passar esses dados para algum formato de tempo, por exemplo o posix do R, mas tem pacotes so com coisas de tempo também que podem te dar soluções até mais faceis.
Mas segue uma solução que talvez ajude.

#veja como é o tempo no R
Sys.time()

#criando seu vetor de indices
#de um ?as.POSIXct, veja uns exemplos, para converter suas colunas para tempo no formato do posix
#Dai vc precisa de um tempo inicial, vamos supor agora
inicio <- as.POSIXct("2015-11-10 09:31:18 AMST")
#O fim das suas coletas, daqui 30 min por exeplo
fim <- inicio + as.difftime(30, units="mins")
#e  vc cria um vetor de min em min, mas poderia ser qq intervalo, de 5 em 5 min, so mudar o by
indice<-seq(from=inicio, by=as.difftime(1, units="mins"), to=fim)

#gerando alguns dados de exemplo
medida<-rnorm(100,10,2)
horario<-indice[sample(1:length(indice),100,replace=T)]
dados<-data.frame(medida,horario)

#veja os dados, imagino que no final vc vai ter medidas e o tempo
dados

#agora da pra usar cut com o indice para juntar seus dados e aggregate da forma convencional
aggregate(dados$medida,list(cut(dados$horario,indice[-1])),mean)
#ai pra normalizar, fazer outras operações, é so ir usando o fator que o cut gera pra vc

Em 10 de novembro de 2015 09:14, Michelle Bau Graczyk <mbgraczyk@gmail.com> escreveu:
Caros, bom dia,

Eu estou com um data frame da forma :
"data" "hora" "bid" "bidQ" "ask" "askQ" "last" "volume"
"1" 2004-01-04 "09:30" -1 -1 -1 -1 38 55900
"2" 2004-01-04 "09:30" -1 -1 -1 -1 38 600
"3" 2004-01-04 "09:31" -1 -1 -1 -1 38 5000
"4" 2004-01-04 "09:31" 38.05 32 38.08 1 38.05 6000
"5" 2004-01-04 "09:31" 38.06 2 38.08 1 38.06 1500
"6" 2004-01-04 "09:31" 38.06 4 38.07 1 38.06 500
"7" 2004-01-04 "09:32" 38.04 1 38.07 1 38.05 4500
"8" 2004-01-04 "09:32" 38 1 38.2 1 38.03 1600
"9" 2004-01-04 "09:32" 38 1 38.2 1 38.03 3800
"10" 2004-01-04 "09:32" 38 1 38.04 1 38.04 500
"11" 2004-01-04 "09:32" 38 1 38.07 1 38.03 200
"12" 2004-01-04 "09:32" 38 1 38.08 2 38.07 100
"13" 2004-01-04 "09:32" 38 1 38.08 2 38.01 5000
"14" 2004-01-04 "09:32" 38 21 38.08 2 38.05 200
"15" 2004-01-04 "09:33" 38.03 9 38.13 8 38.08 700
"16" 2004-01-04 "09:33" 38.08 15 38.13 8 38.08 100
"17" 2004-01-04 "09:33" 38.11 16 38.13 10 38.12 900

onde as datas vão de 2004-01-04 até 2013-06-30 e os horários de 09:30 até 16:10.
Eu tenho que achar o volume médio para cada minuto e depois normalizar  esses volumes para cada minuto pelo volume médio.
Eu tento montar um programa cheio de for() para data e for() para horário mas não está dando certo… Acho que deve ter uma lógica mais simples.
Alguém saberia me dar uma dica?

Muito obrigada!

Michelle



_______________________________________________
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.



--
Grato
Augusto C. A. Ribas
 

_______________________________________________
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.