#Dai vc precisa de um tempo inicial, vamos supor agora#de um ?as.POSIXct, veja uns exemplos, para converter suas colunas para tempo no formato do posixMas segue uma solução que talvez ajude.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.#veja como é o tempo no RSys.time()
#criando seu vetor de indicesinicio <- as.POSIXct("2015-11-10 09:31:18 AMST")#O fim das suas coletas, daqui 30 min por exeplofim <- 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 byindice<-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 tempodados
#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 vcEm 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 900onde 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.
--
_______________________________________________
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.