aggregate-methods {simFrame} | R Documentation |
Method for aggregating simulation results
Description
Aggregate simulation results, i.e, split the data into subsets if applicable and compute summary statistics.
Usage
## S4 method for signature 'SimResults'
aggregate(x, select = NULL, FUN = mean, ...)
Arguments
x |
the simulation results to be aggregated, i.e., an object of class
|
select |
a character vector specifying the columns to be aggregated. It
must be a subset of the |
FUN |
a scalar function to compute the summary statistics (defaults to
|
... |
additional arguments to be passed down to
|
Value
If contamination or missing values have been inserted or the simulations have
been split into different domains, a data.frame
is returned, otherwise
a vector.
Details
If contamination or missing values have been inserted or the simulations have
been split into different domains, aggregate
is called
to compute the summary statistics for the respective subsets.
Otherwise, apply
is called to compute the summary statistics
for each column specified by select
.
Methods
x = "SimResults"
aggregate simulation results.
Author(s)
Andreas Alfons
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. doi: 10.18637/jss.v037.i03.
See Also
aggregate
, apply
,
"SimResults"
Examples
#### 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)
## aggregate
aggregate(results) # means of results
aggregate(results, FUN = sd) # standard deviations of results
#### 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)
## aggregate
aggregate(results) # means of results
aggregate(results, FUN = sd) # standard deviations of results