Last data update: 2014.03.03

R: Simulation of a Dirichlet Distributed Vectors
dirichlet.simulR Documentation

Simulation of a Dirichlet Distributed Vectors

Description

This function makes random draws from a Dirichlet distribution.

Usage

dirichlet.simul(alpha)

Arguments

alpha

A matrix with old{α} parameters of the Dirichlet distribution

Value

A data frame with Dirichlet distributed responses

Author(s)

Alexander Robitzsch

Examples

#############################################################################
# EXAMPLE 1: Simulation with two components
#############################################################################

set.seed(789)
N <- 2000
probs <- c(.7 , .3)	# define (extremal) class probabilities

#*** alpha0 = .2  -> nearly crisp latent classes
alpha0 <- .2
alpha <- alpha0*probs
alpha <- matrix( alpha , nrow=N , ncol=length(alpha) , byrow=TRUE  )
x <- dirichlet.simul( alpha )
htitle <- expression(paste( alpha[0], "=.2, ", p[1] , "=.7"   ) )
hist( x[,1] , breaks = seq(0,1,len=20) , main=htitle)

#*** alpha0 = 3 -> strong deviation from crisp membership
alpha0 <- 3
alpha <- alpha0*probs
alpha <- matrix( alpha , nrow=N , ncol=length(alpha) , byrow=TRUE  )
x <- dirichlet.simul( alpha )
htitle <- expression(paste( alpha[0], "=3, ", p[1] , "=.7"   ) )
hist( x[,1] , breaks = seq(0,1,len=20) , main=htitle)

## Not run: 
#############################################################################
# EXAMPLE 2: Simulation with three components
#############################################################################

set.seed(986)
N <- 2000
probs <- c( .5 , .35 , .15 )

#*** alpha0 = .2
alpha0 <- .2
alpha <- alpha0*probs
alpha <- matrix( alpha , nrow=N , ncol=length(alpha) , byrow=TRUE  )
x <- dirichlet.simul( alpha )
htitle <- expression(paste( alpha[0], "=.2, ", p[1] , "=.7"   ) )
miceadds::library_install("ade4")
ade4::triangle.plot(x, label=NULL , clabel = 1)

#*** alpha0 = 3
alpha0 <- 3
alpha <- alpha0*probs
alpha <- matrix( alpha , nrow=N , ncol=length(alpha) , byrow=TRUE  )
x <- dirichlet.simul( alpha )
htitle <- expression(paste( alpha[0], "=3, ", p[1] , "=.7"   ) )
ade4::triangle.plot(x, label=NULL , clabel = 1)

## End(Not run)

Results