[prev in list] [next in list] [prev in thread] [next in thread] 

List:       r-help
Subject:    Re: [R] generate random numbers
From:       David Scott <d.scott () auckland ! ac ! nz>
Date:       2011-03-31 22:26:33
Message-ID: 4D94FF99.3040903 () auckland ! ac ! nz
[Download RAW message or body]

  On 01/04/11 08:50, Ted Harding wrote:
> On 31-Mar-11 19:23:33, Anna Lee wrote:
>> Hey List,
>> does anyone know how I can generate a vector of random numbers
>> from a given distribution? Something like "rnorm" just for non
>> normal distributions???
>>
>> Thanks a lot!
>> Anna
> SUppose we give your distribution the name "Dist".
>
> The generic approach would start by defining a function for
> the inverse of its cumulative distribution. Call this qDist.
> Then
>
>    qDist(runif(1000))
>
> would generate 1000 values from the distribution "Dist".
>
> As a ready-made example, qnorm is the inverse of pnorm,
> the cumulative distribution function of the Normal distribution.
> Then
>
>    qnorm(runif(1000))
>
> would act just like rnorm(1000), though the sequence of values
> would be different (a different algorithm) -- and also rnorm()
> would be more efficient (being specially written).
>
> Depending on what your desired distribution is, you may find
> that an "rDist" has already been written for it. There are
> many distributions already in R for which the family of
> functions dDist, pDist, qDist and rDist are provided.
>
> For more specific advice, please give us information about
> the specific distribution you want to sample from!
>
> Ted.
>

I can point to one general implementation which might be helpful, and 
even the function names are the same.

In the version of DistributionUtils on R-Forge you will find functions 
pDist and qDist which should give the distribution function and quantile 
function of any continuous unimodal distribution.

Provisos: there may be problems with distributions with very heavy 
tails, and generally the routines could be slow.

David Scott

-- 
_________________________________________________________________
David Scott	Department of Statistics
		The University of Auckland, PB 92019
		Auckland 1142,    NEW ZEALAND
Phone: +64 9 923 5055, or +64 9 373 7599 ext 85055
Email:	d.scott@auckland.ac.nz,  Fax: +64 9 373 7018

Director of Consulting, Department of Statistics

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic