Learn R Programming

mixedsde (version 5.0)

mixture.sim: Simulation Of A Mixture Of Two Normal Or Gamma Distributions

Description

Simulation of M random variables from a mixture of two Gaussian or Gamma distributions

Usage

mixture.sim(M, density.phi, param)

Arguments

M

number of simulated variables

density.phi

name of the chosen density 'mixture.normal' or 'mixture.gamma'

param

vector of parameters with the proportion of mixture of the two distributions and means and standard-deviations of the two normal or shapes and scales of the two Gamma distribution

Value

Y

vector of simulated variables

Details

If 'mixture.normal', the distribution is \(p N(\mu1,\sigma1^2) + (1-p)N(\mu2, \sigma2^2)\)

and param=c(p, \(\mu1, \sigma1, \mu2, \sigma2\))

If 'mixture.gamma', the distribution is \(p Gamma(shape1,scale1) + (1-p)Gamma(shape2,scale2)\)

and param=c(p, shape1, scale1, shape2, scale2)

Examples

Run this code
# NOT RUN {
density.phi <- 'mixture.gamma'
param <- c(0.2,1.8,0.5,5.05,1); M <- 200
gridf <- seq(0, 8, length = 200)  
f <- param[1] * 1/gamma(param[2]) * (gridf)^(param[2]-1) * 
           exp(-(gridf) / param[3]) / param[3]^param[2] + 
           (1-param[1]) * 1/gamma(param[4]) * (gridf)^(param[4]-1) * 
           exp(-(gridf) / param[5]) / param[5]^param[4]
Y <- mixture.sim(M, density.phi, param)
hist(Y)
lines(gridf, f)
# }

Run the code above in your browser using DataLab