<div dir="ltr">Boa tarde, <div><br></div><div>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.</div><div>Só que quando tento fazer rodar, vem a mensagem :</div><div>Erro em if (AA.data$hora[k] == i) { : </div><div>  valor ausente onde TRUE/FALSE necessário</div><div><br></div><div>Abaixo segue o programa.</div><div><br></div><div><div>AA<-read.table("/Users/bau/Documents/Mestrado/teste/AXP_NYS_USD_1min_EST5EDT_200407s12e.dat", header=FALSE, col.names=c("data","hora","preco","volume"))</div><div>hora<-as.numeric(AA$hora)</div><div>AA.data<-data.frame(data=AA$data,hora=hora, preco=AA$preco, volume=AA$volume)</div><div>write.table(AA.data,"testeteste.txt")</div><div><br></div><div>matriz.dadosAA<-matrix(nrow=128,ncol=4)</div><div>for(i in 1:4){</div><div>  </div><div>  j<-1</div><div>  for(k in 1:48935){</div><div>    for(j in 1:126){</div><div>    if(AA.data$hora[k]==i){</div><div>      </div><div>      </div><div>      matriz.dadosAA[j,i]=AA.data$volume[k]</div><div>      j=j+1</div><div>      </div><div><br></div><div>      </div><div>      </div><div>    </div><div>    } else {</div><div>      </div><div>      matriz.dadosAA[j,i]=0</div><div>      j=j+1}</div><div><br></div><div>      k=k+1</div><div>    </div><div>    }</div><div>  }</div><div>}</div><div>    a<-matriz.dadosAA[,1]</div><div>    write.table(a,"a.txt")</div></div><div><br></div><div><br></div><div><br></div><div>Muito obrigada,</div><div><br></div><div>Michelle</div></div>