Skip to content
Prev 258384 / 398502 Next

how to generate a normal distribution with mean=1, min=0.2, max=0.8

I just realized that I had misread what was wanted -- the code I wrote was 
for mean=0, sd=1, not for mean=1.  So for mean=m, and sd=s, lower limit L 
and upper limit U, this approach will work:

n <- 1000

m <- 1
s <- 1

L <- .2
U <- .8

p_L <- pnorm(L, mean=m, sd=s)
p_U <- pnorm(U, mean=m, sd=s)


x <- qnorm(runif(n, p_L, p_U), mean=m, sd=s)

Or it could be written on one line:

x <- qnorm(runif(n, pnorm(L, mean=m, sd=s), pnorm(U, mean=m, sd=s)), mean=m, sd=s)

Mike
On Thu, 28 Apr 2011, Mike Miller wrote: