| phyclust.e.step {phyclust} | R Documentation |
This is a single E-step of phyclust, usually following or followed
by the other M-step.
phyclust.e.step(X, ret.phyclust = NULL, K = NULL, Eta = NULL,
Mu = NULL, pi = NULL, kappa = NULL, Tt = NULL,
substitution.model = NULL, identifier = NULL, code.type = NULL,
Z.state = TRUE, label = NULL)
X |
nid/sid matrix with N rows/sequences and L columns/sites. |
ret.phyclust |
an object with the class |
K |
number of clusters. |
Eta |
proportion of subpopulations, eta_k, length = |
Mu |
centers of subpopulations, dim = K*L, each row is a center. |
pi |
equilibrium probabilities, each row sums to 1. |
kappa |
transition and transversion bias. |
Tt |
total evolution time, t. |
substitution.model |
substitution model. |
identifier |
identifier. |
code.type |
code type. |
Z.state |
see ‘Details’. |
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
except Z.state. ret.phyclust can be obtain either from an
EM iteration of phyclust or from a M step of phyclust.m.step.
Z.state indicates the return values of Z_nk. If
TRUE, the Z.normalized returned by this function will be
posterior probabilities. Otherwise, it will be logPt, log of
transition probabilities, log(phi(...)).
If label is inputted, the label information will be used
the E-step, even the ret.phyclust is the result of unsupervised
clustering.
This function returns a Z_nk matrix with dimension =
N*K. The values is dependent on Z.state, and
they are either posterior probabilities if TRUE or transition
probabilities otherwise.
Wei-Chen Chen wccsnow@gmail.com
Phylogenetic Clustering Website: http://snoweye.github.io/phyclust/
phyclust,
phyclust.em.step,
phyclust.m.step.
## Not run: library(phyclust, quiet = TRUE) set.seed(1234) EMC.1 <- .EMC EMC.1$EM.iter <- 1 # the same as EMC.1 <- .EMControl(EM.iter = 1) X <- seq.data.toy$org ret.1 <- phyclust(X, 2, EMC = EMC.1) ret.2 <- phyclust.e.step(X, ret.phyclust = ret.1) str(ret.2) # For semi-supervised clustering. semi.label <- rep(0, nrow(X)) semi.label[1:3] <- 1 ret.3 <- phyclust.e.step(X, ret.phyclust = ret.1, label = semi.label) ## End(Not run)