
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.