Learn R Programming

mosaic (version 0.14)

do: Do Things Repeatedly

Description

do() provides a natural syntax for repetition tuned to assist with replication and resampling methods.

Usage

do(object, ...)
"do"(object, ...)
"do"(object, ...)
Do(n = 1L, cull = NULL, mode = "default", algorithm = 1, parallel = TRUE)
"print"(x, ...)
"*"(e1, e2)

Arguments

object
an object
...
additional arguments
n
number of times to repeat
cull
function for culling output of objects being repeated. If NULL, a default culling function is used. The default culling function is currently aware of objects of types lme, lm, htest, table, cointoss, and matrix.
mode
target mode for value returned
algorithm
a number usd to select the algorithm used. Currently numbers below 1 use an older algorithm and numbers >=1 use a newer algorithm which is faster in some situations.
parallel
a logical indicating whether parallel computation should be attempted using the parallel package (if it is installed and loaded).
x
an object created by do.
e1
an object (in cases documented here, the result of running do)
e2
an object (in cases documented here, an expression to be repeated)

Value

do returns an object of class repeater which is only useful in the context of the operator *. See the examples.

See Also

replicate, set.rseed

Examples

Run this code
do(3) * rnorm(1)
do(3) * "hello"
do(3) * 1:4
do(3) * mean(rnorm(25))
if (require(mosaicData)) {
  do(3) * lm(shuffle(height) ~ sex + mother, Galton)
  do(3) * anova(lm(shuffle(height) ~ sex + mother, Galton))
  do(3) * c(sample.mean = mean(rnorm(25)))
  set.rseed(1234)
  do(3) * tally( ~sex|treat, data=resample(HELPrct))
  set.rseed(1234)  # re-using seed gives same results again
  do(3) * tally( ~sex|treat, data=resample(HELPrct))
}

Run the code above in your browser using DataLab