We adapt the code below and modify it to show normal probablity plot and add some mixture/monstrous distributions
sdm.sim <- function(n,src.dist=NULL,param1=NULL,param2=NULL) {
r <- 10000 # Number of replications/samples - DO NOT ADJUST
# This produces a matrix of observations with
# n columns and r rows. Each row is one sample:
my.samples <- switch(src.dist,
"E" = matrix(rexp(n*r,param1),r),
"N" = matrix(rnorm(n*r,param1,param2),r),
"U" = matrix(runif(n*r,param1,param2),r),
"P" = matrix(rpois(n*r,param1),r),
"C" = matrix(rcauchy(n*r,param1,param2),r),
"B" = matrix(rbinom(n*r,param1,param2),r),
"G" = matrix(rgamma(n*r,param1,param2),r),
"X" = matrix(rchisq(n*r,param1),r),
"T" = matrix(rt(n*r,param1),r),
"Z" = matrix((rnorm(n*r,param1,param2))^2,r),
"ZZ"=matrix(rnorm(n*r,param1,param2)+5*runif(n*r,param1,param2),r)
## ZZ is our experimental construction by mixing normal and uniform together
)
all.sample.sums <- apply(my.samples,1,sum)
all.sample.means <- apply(my.samples,1,mean)
all.sample.vars <- apply(my.samples,1,var)
par(mfrow=c(2,2))
hist(my.samples[1,],col="gray",main="Distribution of One Sample")
hist(all.sample.sums,col="gray",main="Sampling Distributionof
the Sum")
hist(all.sample.means,col="gray",main="Sampling Distributionof the Mean")
qqnorm(all.sample.means, main="NormalProbabilityPlot of the Mean")
# hist(all.sample.vars,col="gray",main="Sampling Distributionnof
# the Variance")
}
Select source distribution as exponential
sdm.sim(2,src.dist="E",param1=1)
curve(dexp(x,1),0,3)
Uniform
sdm.sim(500,src.dist="U",param1=0,param2=1)
Bernoulli and Binomial
sdm.sim(2,src.dist="B",param1=1,param2=.4)
sdm.sim(200,src.dist="B",param1=1,param2=.5)
Normal
sdm.sim(2,src.dist="N",param1=1,param2=4)
sdm.sim(200,src.dist="Z",param1=0,param2=1)
ZZ
sdm.sim(200,src.dist="ZZ",param1=0,param2=1)