Description Usage Arguments Value See Also Examples
Converting an object of class rMix
to an object of class datMix
, so that it can be passed to functions estimating the mixture complexity.
1 2 
obj 
object of class 
theta.bound.list 
a named list specifying the upper and the lower bound for the component parameters. The names of the list elements have to match the names of the formal arguments of the functions 
MLE.function 
function (or list of functions) which takes as input the data and gives as output the maximum likelihood estimator for the parameter(s) of a one component mixture (i.e. the standard MLE of the component distribution 
Hankel.method 
character string in 
Hankel.function 
function needed for the moment estimation via 
An object of class datMix
with the following attributes (for further explanations
see datMix
):
dist 

discrete 

theta.bound.list 

MLE.function 

Hankel.method 

Hankel.function 
datMix
for direct generation of a datMix
object from a vector of observations.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46  ### generating 'Mix' object
normLocMix < Mix("norm", w = c(0.3, 0.4, 0.3), mean = c(10, 13, 17), sd = c(1, 1, 1))
### generating 'rMix' from 'Mix' object (with 1000 observations)
set.seed(1)
normLocRMix < rMix(1000, normLocMix)
### generating 'datMix' from 'R' object
## generate list of parameter bounds
norm.bound.list < vector(mode = "list", length = 2)
names(norm.bound.list) < c("mean", "sd")
norm.bound.list$mean < c(Inf, Inf)
norm.bound.list$sd < c(0, Inf)
## generate MLE functions
# for "mean"
MLE.norm.mean < function(dat) mean(dat)
# for "sd" (the sd function uses (n1) as denominator)
MLE.norm.sd < function(dat){
sqrt((length(dat)  1) / length(dat)) * sd(dat)
}
# combining the functions to a list
MLE.norm.list < list("MLE.norm.mean" = MLE.norm.mean,
"MLE.norm.sd" = MLE.norm.sd)
## function giving the j^th raw moment of the standard normal distribution,
## needed for calculation of the Hankel matrix via the "translation" method
## (assuming gaussian components with variance 1)
mom.std.norm < function(j){
ifelse(j %% 2 == 0, prod(seq(1, j  1, by = 2)), 0)
}
normLoc.dM < RtoDat(normLocRMix, theta.bound.list = norm.bound.list,
MLE.function = MLE.norm.list, Hankel.method = "translation",
Hankel.function = mom.std.norm)
### using 'datMix' object to estimate the mixture
set.seed(0)
res < paramHankel.scaled(normLoc.dM)
plot(res)

Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.