Learn R Programming

mixedsde (version 1.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
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