[R-br] [R] Uso da função if

Rafael Garcia Cunha rafareds em gmail.com
Quarta Março 4 13:34:23 BRT 2015


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 em 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 em 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 em 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 em 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 em 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 em 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
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20150304/3f9298e1/attachment.html>


Mais detalhes sobre a lista de discussão R-br