
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.