[R] Pseudo-random numbers between two numbers

(Ted Harding) Ted.Harding at manchester.ac.uk
Wed Mar 11 00:39:17 CET 2009


On 10-Mar-09 23:01:45, guox at ucalgary.ca wrote:
> Please forget the last email I sent with the same subject.
> =================
> I would like to generate pseudo-random numbers between two numbers
> using R, up to a given distribution, for instance, norm. That is
> something like
> rnorm(HowMany,Min,Max,mean,sd)
> over rnorm(HowMany,mean,sd).
> I am wondering if
> 
> qnorm(runif(HowMany, pnorm(Min,mean,sd), pnorm(Max,mean, sd)),
>       mean, sd)
> 
> is good. Any idea? Thanks.
> -james

It would certainly work as intended! For instance:

truncnorm<-function(HowMany,Min,Max,mean=0,sd=1){
  qnorm(runif(HowMany, pnorm(Min,mean,sd), pnorm(Max,mean, sd)),
        mean, sd)}
Sample <- truncnorm(1000,-1,2.5)
hist(Sample,breaks=100)

Hoping this helps,
Ted.

--------------------------------------------------------------------
E-Mail: (Ted Harding) <Ted.Harding at manchester.ac.uk>
Fax-to-email: +44 (0)870 094 0861
Date: 10-Mar-09                                       Time: 23:39:13
------------------------------ XFMail ------------------------------




More information about the R-help mailing list