One of the R language's most powerful features is its ability to deal with random distributions: not just generating random numbers from various distributions (based on a very powerful pseudo-random number generator), but also calculating densities, probabilities, and quintiles. John Cook provides a handy reference chart listing all of the distributions supported by standard R (reproduced below -- and there are many other distributions supported by contributed packages), and also explains the elegant naming scheme for the various functions.
Distribution | Base name | Parameters |
beta | beta |
shape1 , shape2, ncp |
binomial | binom |
size , prob |
Cauchy | cauchy |
location , scale |
chi-squared | chisq |
df, ncp |
exponential | exp |
rate |
F | f |
df1 , df2, ncp |
gamma | gamma |
shape , rate |
geometric | geom |
p |
hypergeometric | hyper |
m , n , k |
log-normal | lnorm |
meanlog , sdlog |
logistic | logis |
location , scale |
negative binomial | nbinom |
size , prob |
normal | norm |
mean , sd |
Poisson | pois |
lambda |
Student t | t |
df, ncp |
uniform | unif |
min , max |
Weibull | weibull |
shape , scale |
Updated Aug 20: added the ncp parameter to beta, chisq, f, and t with thanks to Doug Bates' comment below.
John D Cook: Distributions in R and S-PLUS
The argument lists in this table for the beta, chisq, f and t distributions are incomplete. R allows for a non-centrality parameter, ncp, in each of these distributions. (If I recall correctly, S-PLUS does not but I don't have a copy of that software available to check.)
Allowing for non-central versions of these distributions in R took a considerable amount of work, especially by Martin Maechler, and I think it should be acknowledged.
Posted by: Douglas Bates | August 20, 2010 at 06:49
Thanks for pointing that out Doug, I updated the post above. Martin and others from the R project definitely deserve a round of applause -- the accuracy of these functions, especially in the tails, is unparalleled. I didn't include some of the other parameters like lower.tail which give even more accuracy in some situations -- follow the links in the table to read up on the other options.
Posted by: David Smith | August 20, 2010 at 08:35