Qual a dimensão dos seus vetores? 
Você fala "O horário está escrito de maneira numérica e vai de 1 até 396", mas são números inteiros somente?
Depois você cria uma matriz com 128 linhas e 4 colunas e os índices das funções "for" vão de 1 até 48935 (índice k) e de 1 até 126 (índice j).
Nessa parte do seu código " if(AA.data$hora[k]==i)" você só estará testando horas iguais a 1, 2, 3 e 4 (e as outras até 396?).
Além disso estão faltando 2 linhas na matriz (seu índice j vai só até 126).

Em 4 de março de 2015 13:25, Michelle Bau Graczyk <mbgraczyk@gmail.com> escreveu:
Oi Fernando, 

Me desculpe mas você pode ser um pouco mais claro? Sou iniciante em R e por isso ainda tenho muita dificuldade.

Em 4 de março de 2015 13:20, Fernando Antonio de souza <nandodesouza@gmail.com> escreveu:

OLÁ

Faça um dput(seubancodedados) copie e cole a saída para que seus comandos possa ser replicados e possa lhe ajudar. Acredito que o que você deseja fazer pode ser feito com funções do pacote plyr ou lapply, o que torna muito mais eficiente.

Em 4 de março de 2015 13:09, Michelle Bau Graczyk <mbgraczyk@gmail.com> escreveu:
Boa tarde, 

Estou com um problema de lógica para o uso do if. Meu intuito com este programa é separar por horário os valores do volume. O horário está escrito de maneira numérica e vai de 1 até 396. O valor máximo de volumes por horário é 126.
Só que quando tento fazer rodar, vem a mensagem :
Erro em if (AA.data$hora[k] == i) { : 
  valor ausente onde TRUE/FALSE necessário

Abaixo segue o programa.

AA<-read.table("/Users/bau/Documents/Mestrado/teste/AXP_NYS_USD_1min_EST5EDT_200407s12e.dat", header=FALSE, col.names=c("data","hora","preco","volume"))
hora<-as.numeric(AA$hora)
AA.data<-data.frame(data=AA$data,hora=hora, preco=AA$preco, volume=AA$volume)
write.table(AA.data,"testeteste.txt")

matriz.dadosAA<-matrix(nrow=128,ncol=4)
for(i in 1:4){
  
  j<-1
  for(k in 1:48935){
    for(j in 1:126){
    if(AA.data$hora[k]==i){
      
      
      matriz.dadosAA[j,i]=AA.data$volume[k]
      j=j+1
      

      
      
    
    } else {
      
      matriz.dadosAA[j,i]=0
      j=j+1}

      k=k+1
    
    }
  }
}
    a<-matriz.dadosAA[,1]
    write.table(a,"a.txt")



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.


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



--
Rafael Garcia Cunha

YNWA