[R-br] Geração de números aleatórios com amplitude determinada

walmes . walmeszeviani em gmail.com
Terça Julho 29 14:19:26 BRT 2014


Se eu fosse gerar da normal truncada, eu iria proceder usando o método da
inversa da acumulada. Talvez seja mais rápido. O com while pode demorar
demais se a taxa de rejeição for grande. Por exemplo, o tempo para gerar
sem números entre 0 e 1 é maior do que para gerar entre -1 e 1 porque a
taxa de rejeição no primeiro caso é maior.

par(mfrow=c(1,2))
curve(dnorm(x, 0, 1), -3, 3)
abline(v=c(-0.5, 2), lty=2)
curve(pnorm(x, 0, 1), -3, 3)
abline(v=c(-0.5, 2), lty=2)
layout(1)

lim <- pnorm(c(-0.5, 2), 0, 1)
u <- runif(100, lim[1], lim[2])
y <- qnorm(u, 0, 1)

par(mfrow=c(1,2))
curve(dnorm(x, 0, 1), -3, 3)
abline(v=c(-0.5, 2), lty=2)
rug(y)
curve(pnorm(x, 0, 1), -3, 3)
abline(v=c(-0.5, 2), lty=2)
rug(u, side=2)
rug(y)
layout(1)

À disposição.
Walmes.
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20140729/cf3e3669/attachment.html>


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