View source: R/f_phyclust_em_step.r
| phyclust.m.step | R Documentation |
This is a single M-step of phyclust, usually following or followed
by the other E-step.
phyclust.m.step(X, ret.phyclust = NULL, K = NULL,
pi = NULL, kappa = NULL, Tt = NULL, Z.normalized = NULL,
substitution.model = NULL, identifier = NULL, code.type = NULL,
label = NULL)
X |
nid/sid matrix with |
ret.phyclust |
an object with the class |
K |
number of clusters. |
pi |
equilibrium probabilities, each row sums to 1. |
kappa |
transition and transversion bias. |
Tt |
total evolution time, |
Z.normalized |
posterior probabilities obtained from an E-step. |
substitution.model |
substitution model. |
identifier |
identifier. |
code.type |
code type. |
label |
label of sequences for semi-supervised clustering. |
X should be a numerical matrix containing sequence data that
can be transfered by code2nid or code2sid.
Either input ret.phyclust or all other arguments for this function.
ret.phyclust can be obtained either from an EM iteration of
phyclust or from a E step of phyclust.e.step.
If label is inputted, the label information will be used
the M-step and Z.normalized will be replaced, even the
ret.phyclust is the result of unsupervised clustering.
This function returns an object with class phyclust.
Wei-Chen Chen wccsnow@gmail.com
Phylogenetic Clustering Website: https://snoweye.github.io/phyclust/
phyclust,
phyclust.em.step,
phyclust.e.step.
## Not run:
library(phyclust, quiet = TRUE)
set.seed(1234)
EMC.1 <- .EMC
EMC.1$short.iter <- 1
EMC.1$EM.iter <- 1
# Test with phyclust.
X <- seq.data.toy$org
ret.1 <- phyclust(X, 2, EMC = EMC.1)
# Test with an em step.
ret.em <- phyclust.em.step(X, ret.1)
# Test with an E- and M-step.
ret.1$Z.normalized <- phyclust.e.step(X, ret.phyclust = ret.1)
ret.m <- phyclust.m.step(X, ret.phyclust = ret.1)
# Test with 2 em steps.
set.seed(1234)
EMC.2 <- EMC.1
EMC.2$EM.iter <- 2
ret.2 <- phyclust(X, 2, EMC = EMC.2)
# Check logL.
phyclust.logL(X, ret.1)
phyclust.logL(X, ret.em)
phyclust.logL(X, ret.m)
phyclust.logL(X, ret.2)
# For semi-supervised.
semi.label <- rep(0, nrow(X))
semi.label[1:3] <- 1
ret.m.1 <- phyclust.m.step(X, ret.phyclust = ret.1, label = semi.label)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.