Learn R Programming

simFrame (version 0.5.4)

simBwplot: Box-and-whisker plots

Description

Generic function for producing box-and-whisker plots.

Usage

simBwplot(x, …)

# S4 method for SimResults simBwplot(x, true = NULL, epsilon, NArate, select, …)

Arguments

x

the object to be plotted. For plotting simulation results, this must be an object of class "SimResults".

true

a numeric vector giving the true values. If supplied, reference lines are drawn in the corresponding panels.

epsilon

a numeric vector specifying contamination levels. If supplied, the values corresponding to these contamination levels are extracted from the simulation results and plotted.

NArate

a numeric vector specifying missing value rates. If supplied, the values corresponding to these missing value rates are extracted from the simulation results and plotted.

select

a character vector specifying the columns to be plotted. It must be a subset of the colnames slot of x, which is the default.

additional arguments to be passed down to methods and eventually to bwplot.

Value

An object of class "trellis". The update method can be used to update components of the object and the print method (usually called by default) will plot it on an appropriate plotting device.

Methods

x = "SimResults"

produce box-and-whisker plots of simulation results.

Details

For simulation results with multiple contamination levels or missing value rates, conditional box-and-whisker plots are produced.

References

Alfons, A., Templ, M. and Filzmoser, P. (2010) An Object-Oriented Framework for Statistical Simulation: The R Package simFrame. Journal of Statistical Software, 37(3), 1--36. 10.18637/jss.v037.i03.

See Also

simDensityplot, simXyplot, bwplot, "'>SimResults"

Examples

Run this code
# NOT RUN {
#### design-based simulation
set.seed(12345)  # for reproducibility
data(eusilcP)    # load data

## control objects for sampling and contamination
sc <- SampleControl(size = 500, k = 50)
cc <- DARContControl(target = "eqIncome", epsilon = 0.02,
    fun = function(x) x * 25)

## function for simulation runs
sim <- function(x) {
    c(mean = mean(x$eqIncome), trimmed = mean(x$eqIncome, 0.02))
}

## run simulation
results <- runSimulation(eusilcP,
    sc, contControl = cc, fun = sim)

## plot results
tv <- mean(eusilcP$eqIncome)  # true population mean
simBwplot(results, true = tv)



#### model-based simulation
set.seed(12345)  # for reproducibility

## function for generating data
rgnorm <- function(n, means) {
    group <- sample(1:2, n, replace=TRUE)
    data.frame(group=group, value=rnorm(n) + means[group])
}

## control objects for data generation and contamination
means <- c(0, 0.25)
dc <- DataControl(size = 500, distribution = rgnorm,
    dots = list(means = means))
cc <- DCARContControl(target = "value",
    epsilon = 0.02, dots = list(mean = 15))

## function for simulation runs
sim <- function(x) {
    c(mean = mean(x$value),
        trimmed = mean(x$value, trim = 0.02),
        median = median(x$value))
}

## run simulation
results <- runSimulation(dc, nrep = 50,
    contControl = cc, design = "group", fun = sim)

## plot results
simBwplot(results, true = means)
# }

Run the code above in your browser using DataLab