for não é para isso, da uma olhada no while

Exemplo basico:

## Gera X até que a soma deles seja 1.5
x <- runif(2) 
x
n<- 1
while (sum(x) < 1.5) { x <- runif(2) ; n <- n+1 }
x
n # numero de tentativas



2011/8/23 Crysttian Arantes <crysttian@gmail.com>
Olá,

O problema está na funcao runif(0).

O zero indica que o numero de valores uniformes que ele tem que gerar é zero, coloca 1.

runif(1):  gera 1 valor
runif(2):  gera 2 valores

Entendeu:

Até



Crysttian Arantes Paixão
Universidade Federal de Lavras - UFLA
Cel: 35 8876-9187 (Oi)
       35 9189-7272 (Tim)
Linux User: 456734 - Debian

“Se fiz descobertas valiosas, foi mais por ter paciência do que qualquer outro talento.” [Isaac Newton]

"Otimismo é esperar pelo melhor. Confiança é saber lidar com o pior."  [Roberto Simonsen]

"Mesmo as noites totalmente sem estrelas podem anunciar a aurora de uma grande realização." [Martin Luther King]






Em 23 de agosto de 2011 22:59, Mauro Sznelwar <sznelwar@uol.com.br> escreveu:

Tenho este algoritmo

p=1, N=0, c=e^-lambda

Repita

 N=N+1

gere Ui

atualize p<c.e^-lambda

Faça X=N-1

 
Estou fazendo esta rotina abaixo, mas o resultado não está consistente! Qual o melhor jeito?
p=1
n=0
lambda=2
c=exp(-lambda)
 for(n in 1:100){
 u=runif(n)
 p=p*u
p<c 
}
x=n-1

 

_______________________________________________
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.