\name{bootstrap-methods}
\docType{methods}

\alias{bootstrap}
\alias{bootstrap-methods}
\alias{bootstrap,RtreemixData,numeric-method}

\title{Method for fitting a mutagenetic trees mixture model and analyzing its variance}
\description{
This method fits an \code{RtreemixModel} to a given dataset and then
analyzes its variance with the bootstrap method. The \code{data} and
the number of trees \code{K} have to be specified.
}
\usage{
bootstrap(data, K, \dots)
}

\arguments{
\item{data}{An \code{RtreemixData} object giving the dataset used for
learning the trees mixture model. }
\item{K}{An \code{integer} larger than 0 specifying the number of
branchings in the mixture model.}
\item{\dots}{
\code{no.start.sol} is an \code{integer} larger than 0 specifying the number of starting solutions for the k-means
algorithm. The default value is 100.
\code{eps} is a \code{numeric} giving the minimum conditional probability to include edge. The
default value is 0.
\code{weighing} is a \code{logical} specifying whether to use special
weights log(Pr(v)) for the edges (root, v). The default value is \code{FALSE}.
\code{equal.edgeweights} is a \code{logical} specifying whether to use
equal edge weights in the noise component. The default value is
\code{TRUE}. When you have few data samples always use its default value
(\code{TRUE}) to ensure nonzero probabilities for all possible
patterns (sets of events).
\code{seed} is a positive \code{integer} specifying the random generator
seed. The default value is (-1) and then the time is used as a
random generator.
\code{B} is an \code{integer} larger than 0 specifying the number of
bootstrap samples. Its default value is 1000.
\code{conf.interval} is a \code{numeric} specifying the Confidence level
for the intervals. Its default value is 0.05.
}
}

\value{
The function returns an object from the class
\code{RtreemixModel}. This is the mixture model learned on the given
\code{data}. Besides the edge weights it also contains their confidence
intervals resulting from the bootstrap analysis. Confidence intervals
for the mixture parameters are also comupted and available.
}

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

\note{
The bootstrap examples are time consuming. They are commented out because of the time restrictions of the check of the package.
For trying out the code please copy it and uncomment it.
}

\author{Jasmina Bogojeska }

\seealso{\code{\link{RtreemixData-class}},
\code{\link{RtreemixModel-class}}, \code{\link{fit-methods}}
}

\examples{
## Create an RtreemixData object from a randomly generated RtreemixModel object.
#rand.mod <- generate(K = 2, no.events = 7, noise.tree = TRUE, prob = c(0.2, 0.8))
#data <- sim(model = rand.mod, no.draws = 300)

## Create a RtreemixModel and analyze its variance with the bootstrap method.
#mod.boot <- bootstrap(data = data, K = 2, equal.edgeweights = TRUE, B = 10) ## time consuming computation

## See the confidence intervals for the mixture parameters (the weights).
#WeightsCI(mod.boot)
## See the confidence intervals of the conditional probabilities assigned to the edges.
#edgeData(getTree(mod.boot, 2), attr = "ci")
}

\keyword{methods}
\keyword{datagen}