Random Numbers Generator
Random permutations
Section titled “Random permutations”To generate random permutation of 5 numbers:
sample(5)# [1] 4 5 3 1 2To generate random permutation of any vector:
sample(10:15)# [1] 11 15 12 10 14 13One could also use the package pracma
randperm(a, k)# Generates one random permutation of k of the elements a, if a is a vector,# or of 1:a if a is a single integer.# a: integer or numeric vector of some length n.# k: integer, smaller as a or length(a).
# Exampleslibrary(pracma)randperm(1:10, 3)[1] 3 7 9
randperm(10, 10)[1] 4 5 10 8 2 7 6 9 3 1
randperm(seq(2, 10, by=2))[1] 6 4 10 2 8Random number generator’s reproducibility
Section titled “Random number generator’s reproducibility”When expecting someone to reproduce an R code that has random elements in it, the set.seed() function becomes very handy.
For example, these two lines will always produce different output (because that is the whole point of random number generators):
> sample(1:10,5)[1] 6 9 2 7 10> sample(1:10,5)[1] 7 6 1 2 10These two will also produce different outputs:
> rnorm(5)[1] 0.4874291 0.7383247 0.5757814 -0.3053884 1.5117812> rnorm(5)[1] 0.38984324 -0.62124058 -2.21469989 1.12493092 -0.04493361However, if we set the seed to something identical in both cases (most people use 1 for simplicity), we get two identical samples:
> set.seed(1)> sample(letters,2)[1] "g" "j"> set.seed(1)> sample(letters,2)[1] "g" "j"and same with, say, rexp() draws:
> set.seed(1)> rexp(5)[1] 0.7551818 1.1816428 0.1457067 0.1397953 0.4360686> set.seed(1)> rexp(5)[1] 0.7551818 1.1816428 0.1457067 0.1397953 0.4360686Generating random numbers using various density functions
Section titled “Generating random numbers using various density functions”Below are examples of generating 5 random numbers using various probability distributions.
Uniform distribution between 0 and 10
Section titled “Uniform distribution between 0 and 10”runif(5, min=0, max=10)[1] 2.1724399 8.9209930 6.1969249 9.3303321 2.4054102Normal distribution with 0 mean and standard deviation of 1
Section titled “Normal distribution with 0 mean and standard deviation of 1”rnorm(5, mean=0, sd=1)[1] -0.97414402 -0.85722281 -0.08555494 -0.37444299 1.20032409Binomial distribution with 10 trials and success probability of 0.5
Section titled “Binomial distribution with 10 trials and success probability of 0.5”rbinom(5, size=10, prob=0.5)[1] 4 3 5 2 3Geometric distribution with 0.2 success probability
Section titled “Geometric distribution with 0.2 success probability”rgeom(5, prob=0.2)[1] 14 8 11 1 3Hypergeometric distribution with 3 white balls, 10 black balls and 5 draws
Section titled “Hypergeometric distribution with 3 white balls, 10 black balls and 5 draws”rhyper(5, m=3, n=10, k=5)[1] 2 0 1 1 1Negative Binomial distribution with 10 trials and success probability of 0.8
Section titled “Negative Binomial distribution with 10 trials and success probability of 0.8”rnbinom(5, size=10, prob=0.8)[1] 3 1 3 4 2Poisson distribution with mean and variance (lambda) of 2
Section titled “Poisson distribution with mean and variance (lambda) of 2”rpois(5, lambda=2)[1] 2 1 2 3 4Exponential distribution with the rate of 1.5
Section titled “Exponential distribution with the rate of 1.5”rexp(5, rate=1.5)[1] 1.8993303 0.4799358 0.5578280 1.5630711 0.6228000Logistic distribution with 0 location and scale of 1
Section titled “Logistic distribution with 0 location and scale of 1”rlogis(5, location=0, scale=1)[1] 0.9498992 -1.0287433 -0.4192311 0.7028510 -1.2095458Chi-squared distribution with 15 degrees of freedom
Section titled “Chi-squared distribution with 15 degrees of freedom”rchisq(5, df=15)[1] 14.89209 19.36947 10.27745 19.48376 23.32898Beta distribution with shape parameters a=1 and b=0.5
Section titled “Beta distribution with shape parameters a=1 and b=0.5”rbeta(5, shape1=1, shape2=0.5)[1] 0.1670306 0.5321586 0.9869520 0.9548993 0.9999737Gamma distribution with shape parameter of 3 and scale=0.5
Section titled “Gamma distribution with shape parameter of 3 and scale=0.5”rgamma(5, shape=3, scale=0.5)[1] 2.2445984 0.7934152 3.2366673 2.2897537 0.8573059Cauchy distribution with 0 location and scale of 1
Section titled “Cauchy distribution with 0 location and scale of 1”rcauchy(5, location=0, scale=1)[1] -0.01285116 -0.38918446 8.71016696 10.60293284 -0.68017185Log-normal distribution with 0 mean and standard deviation of 1 (on log scale)
Section titled “Log-normal distribution with 0 mean and standard deviation of 1 (on log scale)”rlnorm(5, meanlog=0, sdlog=1)[1] 0.8725009 2.9433779 0.3329107 2.5976206 2.8171894Weibull distribution with shape parameter of 0.5 and scale of 1
Section titled “Weibull distribution with shape parameter of 0.5 and scale of 1”rweibull(5, shape=0.5, scale=1)[1] 0.337599112 1.307774557 7.233985075 5.840429942 0.005751181Wilcoxon distribution with 10 observations in the first sample and 20 in second.
Section titled “Wilcoxon distribution with 10 observations in the first sample and 20 in second.”rwilcox(5, 10, 20)[1] 111 88 93 100 124Multinomial distribution with 5 object and 3 boxes using the specified probabilities
Section titled “Multinomial distribution with 5 object and 3 boxes using the specified probabilities”rmultinom(5, size=5, prob=c(0.1,0.1,0.8)) [,1] [,2] [,3] [,4] [,5][1,] 0 0 1 1 0[2,] 2 0 1 1 0[3,] 3 5 3 3 5