
predIntNparSimultaneousN(n.median = 1, k = 1, m = 2, r = 1, rule = "k.of.m",
lpl.rank = ifelse(pi.type == "upper", 0, 1),
n.plus.one.minus.upl.rank = ifelse(pi.type == "lower", 0, 1), pi.type = "upper",
conf.level = 0.95, n.max = 5000, integrate.args.list = NULL, maxiter = 1000)
n.median=1
(i.e., individual
observations). Note that all future medians must be based on the same
sample size.rule="k.of.m"
), a vector of positive integers
specifying the minimum number of observations (or medians) out of $m$
observations (or medians) (all obtained on one future sampling m=2
, except when rule="Modified.CA"
, in which
case r=1
."k.of.m"
($k$-of-$m$ rule; the default), "CA"
(California rule),
and "Modified.CA"
(modified California rule).pi.type="lower"
, the
default value is lpl.rank=1
(implying the minimum value of x
n.plus.one.minus.upl.rank=1
means use the first largest value, and in general a value of
"two.sided"
(the default), "lower"
, and
"upper"
.conf=0.95
.n.max=5000
.integrate
function. The default
value is NULL
.uniroot
search algorithm. The default value is
maxiter=1000
.k
, m
, r
, lpl.rank
, and
n.plus.one.minus.upl.rank
are not all the same length, they are replicated
to be the same length as the length of the longest argument.
The function predIntNparSimultaneousN
computes the required sample size
$n$ by solving Equation (8), (9), or (10) in the help file for
predIntNparSimultaneous
for $n$, depending on the value of the
argument rule
.
Note that when rule="k.of.m"
and r=1
, this is equivalent to a
standard nonparametric prediction interval and you can use the function
predIntNparN
instead.predIntNparSimultaneous
.predIntNparSimultaneous
,
predIntNparSimultaneousConfLevel
,
plotPredIntNparSimultaneousDesign
,
predIntNparSimultaneousTestPower
,
predIntNpar
, tolIntNpar
.# For the 1-of-2 rule, look at how the required sample size for a one-sided
# upper simultaneous nonparametric prediction interval for r=20 future
# sampling occasions increases with increasing confidence level:
seq(0.5, 0.9, by = 0.1)
#[1] 0.5 0.6 0.7 0.8 0.9
predIntNparSimultaneousN(r = 20, conf.level = seq(0.5, 0.9, by = 0.1))
#[1] 4 5 7 10 17
#----------
# For the 1-of-m rule, look at how the required sample size for a one-sided
# upper simultaneous nonparametric prediction interval decreases with increasing
# number of future observations (m), given r=20 future sampling occasions:
predIntNparSimultaneousN(k = 1, m = 1:5, r = 20)
#[1] 380 26 11 7 5
#----------
# For the 1-of-3 rule, look at how the required sample size for a one-sided
# upper simultaneous nonparametric prediction interval increases with number
# of future sampling occasions (r):
predIntNparSimultaneousN(k = 1, m = 3, r = c(5, 10, 15, 20))
#[1] 7 8 10 11
#----------
# For the 1-of-3 rule, look at how the required sample size for a one-sided
# upper simultaneous nonparametric prediction interval increases as the rank
# of the upper prediction limit decreases, given r=20 future sampling occasions:
predIntNparSimultaneousN(k = 1, m = 3, r = 20, n.plus.one.minus.upl.rank = 1:5)
#[1] 11 19 26 34 41
#----------
# Compare the required sample size for r=20 future sampling occasions based
# on the 1-of-3 rule, the CA rule with m=3, and the Modified CA rule.
predIntNparSimultaneousN(k = 1, m = 3, r = 20, rule = "k.of.m")
#[1] 11
predIntNparSimultaneousN(m = 3, r = 20, rule = "CA")
#[1] 36
predIntNparSimultaneousN(r = 20, rule = "Modified.CA")
#[1] 15
#==========
# Example 19-5 of USEPA (2009, p. 19-33) shows how to compute nonparametric upper
# simultaneous prediction limits for various rules based on trace mercury data (ppb)
# collected in the past year from a site with four background wells and 10 compliance
# wells (data for two of the compliance wells are shown in the guidance document).
# The facility must monitor the 10 compliance wells for five constituents
# (including mercury) annually.
# Here we will modify the example to compute the required number of background
# observations for two different sampling plans:
# 1) the 1-of-2 retesting plan for a median of order 3 using the background maximum and
# 2) the 1-of-4 plan on individual observations using the 3rd highest background value.
# The data for this example are stored in EPA.09.Ex.19.5.mercury.df.
# There are 10 compliance wells and we will monitor 5 different
# constituents at each well annually. For this example, USEPA (2009)
# recommends setting r to the product of the number of compliance wells and
# the number of evaluations per year.
# To determine the minimum confidence level we require for
# the simultaneous prediction interval, USEPA (2009) recommends
# setting the maximum allowed individual Type I Error level per constituent to:
# 1 - (1 - SWFPR)^(1 / Number of Constituents)
# which translates to setting the confidence limit to
# (1 - SWFPR)^(1 / Number of Constituents)
# where SWFPR = site-wide false positive rate. For this example, we
# will set SWFPR = 0.1. Thus, the required individual Type I Error level
# and confidence level per constituent are given as follows:
# nw = 10 Compliance Wells
# nc = 5 Constituents
# ne = 1 Evaluation per year
nw <- 10
nc <- 5
ne <- 1
# Set number of future sampling occasions r to
# Number Compliance Wells x Number Evaluations per Year
r <- nw * ne
conf.level <- (1 - 0.1)^(1 / nc)
conf.level
#[1] 0.9791484
# So the required confidence level is 0.98, or 98%.
# Now determine the required number of background observations for each plan.
# 1) the 1-of-2 retesting plan for a median of order 3 using the
# background maximum
predIntNparSimultaneousN(n.median = 3, k = 1, m = 2, r = r,
conf.level = conf.level)
#[1] 14
# 2) the 1-of-4 plan on individual observations using the 3rd highest
# background value.
predIntNparSimultaneousN(k = 1, m = 4, r = r,
n.plus.one.minus.upl.rank = 3, conf.level = conf.level)
#[1] 18
#==========
# Cleanup
#--------
rm(nw, nc, ne, r, conf.level)
Run the code above in your browser using DataLab