Acredito que isso seja suficiente para funcionarNos 2 comandos, tenta substituir:por
for(k in j+1:10){
for(k in (j+1):10){2016-05-12 10:20 GMT-03:00 Michelle Bau Graczyk <mbgraczyk@gmail.com>:_______________________________________________Caros, bom dia,Estou com um problema de lógica de programação. O que eu esperava era o seguinte: se ts[j]>4, eu abro uma operação e ela só para quando ts[j]<4. Enquanto uma operação está aberta, não se pode abrir mais nenhuma. Para isso eu tentei fazer de duas formas, usando e não usando o while, mas eu não consegui.Alguém teria alguma idéia sobre o que eu ando pensando errado?Muito obrigada,MichellePrimeira opção:> v<-c(1,2,5,4,8,9,10,4,2,7,6,8,2)> ts<-ts(v)>> for(j in 1:10){+ if(ts[j]>4){+ #vende+ #compra+ #compra+ vc<-10*ts[j]+ while(ts[j+1]>4) j=j+1+ for(k in j+1:10){+ if(ts[k]<4){+ vc2<-7*ts[k]++ }+ }+ }+ else print("Não houve abertura de processo")+ j=j+k+ vc2+ vc+ }[1] "Não houve abertura de processo"[1] "Não houve abertura de processo"[1] "Não houve abertura de processo"Error in if (ts[k] < 4) { : valor ausente onde TRUE/FALSE necessário> vc2[1] 14>> vc[1] 80Segunda opção:> v<-c(1,2,5,4,8,9,10,4,2,7,6,8,2)> ts<-ts(v)>> for(j in 1:10){+ if(ts[j]>4){+ #vende+ #compra+ #compra+ vc<-10*ts[j]+ for(k in j+1:10){+ if(ts[k]<4){+ vc2<-7*ts[k]++ }+ }+ }+ else print("Não houve abertura de processo")+ j=j+k+ vc2+ vc+ }[1] "Não houve abertura de processo"[1] "Não houve abertura de processo"[1] "Não houve abertura de processo"Error in if (ts[k] < 4) { : valor ausente onde TRUE/FALSE necessário> vc2[1] 14>> vc[1] 80
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.
_______________________________________________
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.