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 <[email protected]> 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 <[email protected] > > 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 >> [email protected] >> 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 > > Site Pessoal: http://recologia.com.br/ <http://augustoribas.heliohost.org> > Github: https://github.com/Squiercg > Lattes: http://lattes.cnpq.br/7355685961127056 > > _______________________________________________ > R-br mailing list > [email protected] > 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 [email protected] 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.
