
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