Quando eu falei pra usar while e nao for nao era pra simplesmente trocar um pelo outro e torcer pra dar certo, tem que mudar a lógica do código... <div><br></div><div>A idéia que tu quer é ir gerando numero aleatórios (1 de cada vez) até que o produto deles seja menor que exp(-lambda), e tu ta gerando logo de cara 100 numeros e vendo se a soma é menor que exp(-lambda).</div>
<div><br></div><div><br></div><div><br></div><div>[]'s<br><br><div class="gmail_quote">2011/8/24 Mauro Sznelwar <span dir="ltr"><<a href="mailto:sznelwar@uol.com.br">sznelwar@uol.com.br</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<u></u>





<div>
<div><font face="Arial" size="2"><font color="#0000ff" size="4">Como faz para 
executar?</font><br></font></div><div><div></div><div class="h5"><font face="Arial" size="2">>O código dentro do 
while não está sendo executado:<br>> <br>>> exp(-2)<br>> [1] 
0.1353353<br>>> sum(runif(100))<br>> [1] 53.06867<br>> <br>> logo 
sum(u)<c dificilmente vai dar TRUE e n vai continuar sendo 1, o<br>> que 
faz com que x = n - 1 = 0.<br>> <br>> 2011/8/24 Mauro Sznelwar 
<</font><a href="mailto:sznelwar@uol.com.br" target="_blank"><font face="Arial" size="2">sznelwar@uol.com.br</font></a><font face="Arial" size="2">>:<br>>> 
Por que o X dá sempre zero, mesmo que eu substitua o lambda por 
qualquer<br>>> valor? Onde estou errando?p=1<br>>> n=0<br>>> 
lambda=2<br>>> c=exp(-lambda)<br>>> u=runif(100)<br>>> 
p=p*u<br>>> n=1<br>>> #while (p<c){ 
u=runif(100);n=n+1}<br>>> #p<br>>> while (sum(u)<c){ 
u=runif(100);n=n+1}<br>>> u<br>>> x=n-1<br>>> 
x<br>>><br>>> É só trocar o nome das variaveis (na verdade nem 
precisava trocar, era só<br>>> adicionar x<-n-1 no 
final)...<br>>> ## Gera 'batata' até que a soma seja 1.5<br>>> 
batata <- runif(2)<br>>> batata<br>>> n<- 1<br>>> while 
(sum(batata) < 1.5) { batata <- runif(2) ; n <- n+1 }<br>>> 
batata<br>>> x<-n-1<br>>> 2011/8/23 Mauro Sznelwar <</font><a href="mailto:sznelwar@uol.com.br" target="_blank"><font face="Arial" size="2">sznelwar@uol.com.br</font></a><font face="Arial" size="2">><br>
>>><br>>>> Muito obrigado pela dica. Mas como 
fica o faça 
X=N-1<br>>>><br>>>><br>>>><br>>>><br>>>> 
for não é para isso, da uma olhada no while<br>>>> Exemplo 
basico:<br>>>> ## Gera X até que a soma deles seja 1.5<br>>>> 
x <- runif(2)<br>>>> x<br>>>> n<- 1<br>>>> 
while (sum(x) < 1.5) { x <- runif(2) ; n <- n+1 }<br>>>> 
x<br>>>> n # numero de 
tentativas<br>>>><br>>>><br>>>> 2011/8/23 Crysttian 
Arantes <</font><a href="mailto:crysttian@gmail.com" target="_blank"><font face="Arial" size="2">crysttian@gmail.com</font></a><font face="Arial" size="2">><br>>>>><br>>>>> 
Olá,<br>>>>><br>>>>> O problema está na funcao 
runif(0).<br>>>>><br>>>>> O zero indica que o numero de 
valores uniformes que ele tem que gerar é<br>>>>> zero, coloca 
1.<br>>>>><br>>>>> runif(1): gera 1 
valor<br>>>>> runif(2): gera 2 
valores<br>>>>><br>>>>> 
Entendeu:<br>>>>><br>>>>> 
Até<br>>>>><br>>>>><br>>>>><br>>>>> 
Crysttian Arantes Paixão<br>>>>> Universidade Federal de Lavras - 
UFLA<br>>>>> Cel: <a href="tel:35%208876-9187" value="+553588769187" target="_blank">35 8876-9187</a> (Oi)<br>>>>> <a href="tel:35%209189-7272" value="+553591897272" target="_blank">35 9189-7272</a> 
(Tim)<br>>>>> Linux User: 456734 - 
Debian<br>>>>><br>>>>> “Se fiz descobertas valiosas, foi 
mais por ter paciência do que qualquer<br>>>>> outro talento.” 
[Isaac Newton]<br>>>>><br>>>>> "Otimismo é esperar pelo 
melhor. Confiança é saber lidar com o pior."<br>>>>> [Roberto 
Simonsen]<br>>>>><br>>>>> "Mesmo as noites totalmente 
sem estrelas podem anunciar a aurora de uma<br>>>>> grande 
realização." [Martin Luther 
King]<br>>>>><br>>>>><br>>>>><br>>>>><br>>>>><br>>>>><br>>>>> 
Em 23 de agosto de 2011 22:59, Mauro Sznelwar <</font><a href="mailto:sznelwar@uol.com.br" target="_blank"><font face="Arial" size="2">sznelwar@uol.com.br</font></a><font face="Arial" size="2">><br>>>>> 
escreveu:<br>>>>>><br>>>>>> Tenho este 
algoritmo<br>>>>>><br>>>>>> p=1, N=0, 
c=e^-lambda<br>>>>>><br>>>>>> 
Repita<br>>>>>><br>>>>>> 
N=N+1<br>>>>>><br>>>>>> gere 
Ui<br>>>>>><br>>>>>> atualize 
p<c.e^-lambda<br>>>>>><br>>>>>> Faça 
X=N-1<br>>>>>><br>>>>>><br>>>>>> 
Estou fazendo esta rotina abaixo, mas o resultado não está 
consistente!<br>>>>>> Qual o melhor 
jeito?<br>>>>>> p=1<br>>>>>> 
n=0<br>>>>>> lambda=2<br>>>>>> 
c=exp(-lambda)<br>>>>>> for(n in 1:100){<br>>>>>> 
u=runif(n)<br>>>>>> p=p*u<br>>>>>> 
p<c<br>>>>>> }<br>>>>>> 
x=n-1<br>>>>>><br>>>>>> 
_______________________________________________<br>>>>>> R-br 
mailing list<br>>>>>> </font><a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank"><font face="Arial" size="2">R-br@listas.c3sl.ufpr.br</font></a><br><font face="Arial" size="2">>>>>> </font><a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank"><font face="Arial" size="2">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</font></a><br>
<font face="Arial" size="2">>>>>> Leia o guia de postagem (</font><a href="http://www.leg.ufpr.br/r-br-guia" target="_blank"><font face="Arial" size="2">http://www.leg.ufpr.br/r-br-guia</font></a><font face="Arial" size="2">) e 
forneça<br>>>>>> código mínimo 
reproduzível.<br>>>>><br>>>>><br>>>>> 
_______________________________________________<br>>>>> R-br mailing 
list<br>>>>> </font><a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank"><font face="Arial" size="2">R-br@listas.c3sl.ufpr.br</font></a><br><font face="Arial" size="2">>>>> </font><a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank"><font face="Arial" size="2">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</font></a><br>
<font face="Arial" size="2">>>>> Leia o guia de postagem (</font><a href="http://www.leg.ufpr.br/r-br-guia" target="_blank"><font face="Arial" size="2">http://www.leg.ufpr.br/r-br-guia</font></a><font face="Arial" size="2">) e 
forneça<br>>>>> código mínimo 
reproduzível.<br>>>><br>>>> 
________________________________<br>>>><br>>>> 
_______________________________________________<br>>>> R-br mailing 
list<br>>>> </font><a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank"><font face="Arial" size="2">R-br@listas.c3sl.ufpr.br</font></a><br><font face="Arial" size="2">>>> </font><a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank"><font face="Arial" size="2">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</font></a><br>
<font face="Arial" size="2">>>> Leia o guia de postagem (</font><a href="http://www.leg.ufpr.br/r-br-guia" target="_blank"><font face="Arial" size="2">http://www.leg.ufpr.br/r-br-guia</font></a><font face="Arial" size="2">) e 
forneça<br>>>> código mínimo 
reproduzível.<br>>>><br>>>> 
_______________________________________________<br>>>> R-br mailing 
list<br>>>> </font><a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank"><font face="Arial" size="2">R-br@listas.c3sl.ufpr.br</font></a><br><font face="Arial" size="2">>>> </font><a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank"><font face="Arial" size="2">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</font></a><br>
<font face="Arial" size="2">>>> Leia o guia de postagem (</font><a href="http://www.leg.ufpr.br/r-br-guia" target="_blank"><font face="Arial" size="2">http://www.leg.ufpr.br/r-br-guia</font></a><font face="Arial" size="2">) e 
forneça<br>>>> código mínimo reproduzível.<br>>><br>>> 
________________________________<br>>><br>>> 
_______________________________________________<br>>> R-br mailing 
list<br>>> </font><a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank"><font face="Arial" size="2">R-br@listas.c3sl.ufpr.br</font></a><br><font face="Arial" size="2">>> </font><a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank"><font face="Arial" size="2">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</font></a><br>
<font face="Arial" size="2">>> Leia o guia de postagem (</font><a href="http://www.leg.ufpr.br/r-br-guia" target="_blank"><font face="Arial" size="2">http://www.leg.ufpr.br/r-br-guia</font></a><font face="Arial" size="2">) e 
forneça código<br>>> mínimo reproduzível.<br>>><br>>> 
_______________________________________________<br>>> R-br mailing 
list<br>>> </font><a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank"><font face="Arial" size="2">R-br@listas.c3sl.ufpr.br</font></a><br><font face="Arial" size="2">>> </font><a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank"><font face="Arial" size="2">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</font></a><br>
<font face="Arial" size="2">>> Leia o guia de postagem (</font><a href="http://www.leg.ufpr.br/r-br-guia" target="_blank"><font face="Arial" size="2">http://www.leg.ufpr.br/r-br-guia</font></a><font face="Arial" size="2">) e 
forneça código<br>>> mínimo reproduzível.<br>>><br>> 
_______________________________________________<br>> R-br mailing 
list<br>> </font><a href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank"><font face="Arial" size="2">R-br@listas.c3sl.ufpr.br</font></a><br><font face="Arial" size="2">> 
</font><a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank"><font face="Arial" size="2">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</font></a><br><font face="Arial" size="2">> Leia o guia de postagem (</font><a href="http://www.leg.ufpr.br/r-br-guia" target="_blank"><font face="Arial" size="2">http://www.leg.ufpr.br/r-br-guia</font></a><font face="Arial" size="2">) e 
forneça código mínimo reproduzível.</font></div></div></div>
<br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div><br></div>