View source: R/clust_mvn_miss.R
em_clust_mvn_miss | R Documentation |
This function uses the EM algorithm to do clustering in P-dimensions.
It assumes all clusters are spherically N(\mu_m, \Sigma_m I)
and allows for
missing data. Observations may have missing data elements but entire rows may
not be missing.
em_clust_mvn_miss(data, nclust, itmax = 10000, tol = 10^-8)
data |
An 'n x p' data matrix or data frame. |
nclust |
The number of clusters. |
itmax |
The maximum number of iterations allowed. Defaults to 10000. |
tol |
Tuning parameter for convergence. Defaults to 10^-8. |
A list containing: it
the number of iterations; clust_prop
the estimated mixture proportions; clust_params
the estimated mixture parameters;
mix_est
a vector of the estimated mixture for each data point; pseudo_log_lik
the pseudo log likelihood of the data; bic
the modeled BIC.
and mix_est
a vector of the estimated mixture for each data point.
em_clust_mvn
, em_clust_norm
, gen_clust
# generate test data
c1 <- gen_clust(100, 10, mean= c(seq(-8, 10, 2)), sd= rep(1, 10))
c2 <- gen_clust(100, 10, mean= rep(0, 10), sd= rep(2, 10))
c3 <- gen_clust(100, 10, mean= rep(10, 10), sd= rep(1, 10))
c_tot <- rbind(c1,c2,c3); rm(c1,c2,c3)
c_tot <- apply(c_tot, 2, function(x) {
samp <- sample(1:length(x), floor(length(x) * .2), replace=FALSE)
x[samp] <- NA
return(x)
})
# run example
mvn_miss <- em_clust_mvn_miss(c_tot, nclust= 3)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.