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 <[email protected]> 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 < > [email protected]> 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 <[email protected]> >> 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 >>> [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. >> > > > _______________________________________________ > 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. > -- Rafael Garcia Cunha YNWA
_______________________________________________ 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.
