% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/raply.r
\name{raply}
\alias{raply}
\title{Replicate expression and return results in a array.}
\usage{
raply(.n, .expr, .progress = "none", .drop = TRUE)
}
\arguments{
\item{.n}{number of times to evaluate the expression}

\item{.expr}{expression to evaluate}

\item{.progress}{name of the progress bar to use, see \code{\link{create_progress_bar}}}

\item{.drop}{should extra dimensions of length 1 be dropped, simplifying the output.  Defaults to \code{TRUE}}
}
\value{
if results are atomic with same type and dimensionality, a vector, matrix or array; otherwise, a list-array (a list with dimensions)
}
\description{
Evalulate expression n times then combine results into an array
}
\details{
This function runs an expression multiple times, and combines the
result into a data frame.  If there are no results, then this function
returns a vector of length 0 (\code{vector(0)}).
This function is equivalent to \code{\link{replicate}}, but will always
return results as a vector, matrix or array.
}
\examples{
raply(100, mean(runif(100)))
raply(100, each(mean, var)(runif(100)))

raply(10, runif(4))
raply(10, matrix(runif(4), nrow=2))

# See the central limit theorem in action
hist(raply(1000, mean(rexp(10))))
hist(raply(1000, mean(rexp(100))))
hist(raply(1000, mean(rexp(1000))))
}
\references{
Hadley Wickham (2011). The Split-Apply-Combine Strategy for
  Data Analysis. Journal of Statistical Software, 40(1), 1-29.
  \url{https://www.jstatsoft.org/v40/i01/}.
}
\keyword{manip}
