# NOT RUN {
n1=300;n2=300;n3=400;
nn <-c(n1,n2,n3)
n <- sum(nn)
p <- 2
g <- 3
sigma<-array(0,c(p,p,g))
for(h in 1:3) sigma[,,h]<-diag(p)
mu <- cbind(c(4,-4),c(3.5,4),c( 0, 0))
# for other distributions,
#delta <- cbind(c(3,3),c(1,5),c(-3,1))
#dof <- c(3,5,5)
distr="mvn"
ncov=3
#first we generate a data set
set.seed(111) #random seed is set
dat <- rdemmix(nn,p,g,distr,mu,sigma,dof=NULL,delta=NULL)
#start from initial partition
clust<- rep(1:g,nn)
obj <- EmSkewfit1(dat,g,clust,distr,ncov,itmax=1000,epsilon=1e-5)
# do bootstrap (stadard error analysis)
# }
# NOT RUN {
std <- bootstrap(dat,n,p,g,distr,ncov,obj,B=19,
replace=TRUE,itmax=1000,epsilon=1e-5)
print(std)
# do booststrap analysis of -2log(Lambda).
# alternatively data can be input as follow,
# dat <- read.table("mydata.txt",header=TRUE)
# p <- ncol(dat)
# n <- nrow(dat)
lad <- bootstrap.noc(dat,n,p,2,4,distr,ncov,B=19,
replace=FALSE,itmax=1000,epsilon=1e-5)
print(lad)
# return of g=2
obj2 <- dget("ReturnOf_g_2.ret")
# return of g=3
obj3 <- dget("ReturnOf_g_3.ret")
# return of g=4
obj4 <- dget("ReturnOf_g_4.ret")
#The posterior probability matrix for (g=3) is obtained by
tau <- obj3$tau
# }
# NOT RUN {
# }
Run the code above in your browser using DataLab