morris
implements the Morris's elementary effects screening
method (Morris 1992). This method, based on design of experiments,
allows to identify the few important factors at a cost of $r
\times (p+1)$ simulations (where $p$ is the number
of factors). This implementation includes some improvements of the
original method: space-filling optimization of the design (Campolongo
et al. 2007) and simplex-based design (Pujol 2009).morris(model = NULL, factors, r, design, binf = 0, bsup = 1,
scale = FALSE, ...)
## S3 method for class 'morris':
tell(x, y = NULL, \dots)
## S3 method for class 'morris':
print(x, \dots)
## S3 method for class 'morris':
plot(x, identify = FALSE, \dots)
## S3 method for class 'morris':
plot3d(x, alpha = c(0.2, 0), sphere.size = 1, ...)
predict
method,
defining the model to analyze.c(r1, r2)
for the space-filling
improvement (Campolongo et al.). In this catype = "oat"
for Morris's OAT design (Morris 1992),
with the parameters:levels
: either an integer specifying the number of
levels of the desiTRUE
, the input design of experiments is
scaled after building the design and before computing the elementary
effects so that all factors vary within the range [0,1]. For each factor,
the scaling is done relativel"morris"
storing the state of the
screening study (parameters, data, estimates).TRUE
, the user selects with the
mouse the factors to label on the $(\mu^*,\sigma)$
graph (see identify
).model
which are passed
unchanged each time it is called.rgl.material
). The first value is for the
cone, the second for the planes.morris
returns a list of class "morris"
, containing all
the input argument detailed before, plus the following components:data.frame
containing the design of experiments.print
method, but to extract numerical values, one has to
compute them with the following instructions:
mu <- apply(x$ee, 2, mean)
mu.star <- apply(x$ee, 2, function(x) mean(abs(x)))
sigma <- apply(x$ee, 2, sd)
Contrary to earlier versions of the function, the scaling of factors isn't
forced by default. Although, it is highly recommended to use the function with
the argument scale = TRUE
to avoid an uncorrect interpretation of factors that
would have different orders of magnitude.plot2d
draws the $(\mu^*,\sigma)$ graph.
plot3d.morris
draws the $(\mu, \mu^*,\sigma)$ graph (requires the # Test case : the non-monotonic function of Morris
x <- morris(model = morris.fun, factors = 20, r = 4,
design = list(type = "oat", levels = 5, grid.jump = 3))
print(x)
plot(x)
library(rgl)
plot3d.morris(x) # (requires the package 'rgl')
Run the code above in your browser using DataLab