\name{RtreemixStats-class}
\docType{class}

\alias{LogLikelihoods}
\alias{Model,RtreemixStats}
\alias{WLikelihoods}
\alias{getData,RtreemixStats}
\alias{getResp}

\alias{RtreemixStats-class}
\alias{LogLikelihoods,RtreemixStats-method}
\alias{Model,RtreemixStats-method}
\alias{WLikelihoods,RtreemixStats-method}
\alias{getData,RtreemixStats-method}
\alias{getResp,RtreemixStats-method}
\alias{initialize,RtreemixStats-method}
\alias{print,RtreemixStats-method}
\alias{show,RtreemixStats-method}

\title{Class "RtreemixStats"}
\description{
The \code{RtreemixStats} class contains the (weighted, log)
likelihoods for a given dataset (specified by the parent class)
derived from the probability distribution induced by an underlying
mutagenetic trees mixture model.
}
\section{Objects from the Class}{
Objects can be created by calls of the form \code{new("RtreemixStats",
Data, Model, LogLikelihoods, WLikelihoods)}.
The class \code{RtreemixStats} extends the \code{RtreemixData} class
and specifies (log, weighted) likelihoods for these data derived from
a given \code{RtreemixModel}. The number of the genetic events in the
patterns from the given dataset (\code{Data}) has to be equal to the number
of genetic events in the branchings from the mixture model
given by the slot \code{Model}. When having the weighted likelihoods,
one can easily derive the responsibilities of the model components in
\code{Model} for generating the patterns in the specified dataset
(\code{Data}).

The \code{Data} is an \code{RtreemixData} object that specifies the
patterns for which the likelihoods are calculated.

The \code{Model} is an \code{RtreemixModel} object that specifies the
mutagenetic trees mixture model used for deriving the likelihoods of
the given data.

The \code{LogLikelihoods} is a numeric \code{vector} that contains the
log-likelihoods of the patterns in \code{Data}. Its length equals the
sample size, i.e. the number of patients in \code{Data}.

The \code{WLikelihoods} is a numeric \code{matrix} that specifies the
weighted likelihoods of each pattern in the given dataset
\code{Data}. The number of columns in \code{WLikelihoods} equals the
number of tree components in \code{Model} and the number of rows
equals the number of patients in \code{Data}.
}
\section{Slots}{
\describe{
\item{\code{Model}:}{Object of class \code{"RtreemixModel"}.}
\item{\code{LogLikelihoods}:}{Object of class \code{"numeric"}. The
length of \code{LogLikelihoods} must be equal to the number of
patients of the dataset specified with the parent
\code{"RtreemixData"} class.}
\item{\code{WLikelihoods}:}{Object of class \code{"matrix"}. The
number of rows must be equal to the sample size of the dataset
specified with the parent \code{"RtreemixData"} class. The number
of columns must be identical with the number of tree components in
the mixture model \code{Model}.}
}
}
\section{Extends}{
Class \code{"RtreemixData"}, directly.
}
\section{Methods}{
\describe{
\item{LogLikelihoods}{\code{signature(object = "RtreemixStats")}: A
method for obtaining the log-likelihoods of the patterns in
the dataset specified with the parent \code{"RtreemixData"} class.}
\item{Model}{\code{signature(object = "RtreemixStats")}: A method
for obtaining the mutagenetic trees mixture model used for
deriving the likelihoods.}
\item{WLikelihoods}{\code{signature(object = "RtreemixStats")}: A
method for obtaining the weighted likelihoods of the patterns in
the dataset specified with the parent \code{"RtreemixData"} class.}
\item{getData}{\code{signature(object = "RtreemixStats")}: A method
for obtaining the dataset specified with the
parent \code{"RtreemixData"} class.}
\item{getResp}{\code{signature(object = "RtreemixStats")}: A method for
computing the matrix of responsibilities for the trees to generate
each of the samples in the parent dataset from their weighted
likelihoods \code{WLikelihoods}.}
}
}

\references{Learning multiple evolutionary pathways from cross-sectional
data, N. Beerenwinkel et al.}

\author{Jasmina Bogojeska}

\seealso{
}

\examples{
## Generate a random RtreemixModel object with 3 components and 9 genetic events.
mod <- generate(K = 3, no.events = 9, noise.tree = TRUE, prob = c(0.2, 0.8))
show(mod)

## Draw a data sample from the model mod.
data <- sim(model = mod, no.draws = 400)

## Create an RtreemixStats object.
mod.stat <- likelihoods(model = mod, data = data)
show(mod.stat)

## See the slots from the RtreemixStats object.
Model(mod.stat)
LogLikelihoods(mod.stat)
WLikelihoods(mod.stat)
## See data.
getData(mod.stat)
## Calculate the responsibilities from the weighted likelihoods.
getResp(mod.stat)
}
\keyword{classes}