mosaic (version 0.14.4)

do: Do Things Repeatedly

Description

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

Usage

do(object, ...)

# S3 method for numeric do(object, ...)

# S3 method for default do(object, ...)

Do(n = 1L, cull = NULL, mode = "default", algorithm = 1, parallel = TRUE)

# S3 method for repeater print(x, ...)

# S4 method for repeater,ANY *(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
# NOT RUN {
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