plotTolIntNormDesign {EnvStats}  R Documentation 
Create plots involving sample size, halfwidth, estimated standard deviation, coverage, and confidence level for a tolerance interval for a normal distribution.
plotTolIntNormDesign(x.var = "n", y.var = "half.width", range.x.var = NULL,
n = 25, half.width = ifelse(x.var == "sigma.hat", 3 * max.x, 3 * sigma.hat),
sigma.hat = 1, coverage = 0.95, conf.level = 0.95, cov.type = "content",
round.up = FALSE, n.max = 5000, tol = 1e07, maxiter = 1000, plot.it = TRUE,
add = FALSE, n.points = 100, plot.col = 1, plot.lwd = 3 * par("cex"),
plot.lty = 1, digits = .Options$digits, ..., main = NULL, xlab = NULL,
ylab = NULL, type = "l")
x.var 
character string indicating what variable to use for the xaxis. Possible values
are 
y.var 
character string indicating what variable to use for the yaxis. Possible values
are 
range.x.var 
numeric vector of length 2 indicating the range of the xvariable to use for the plot.
The default value depends on the value of 
n 
positive integer greater than 1 indicating the sample size upon
which the tolerance interval is based. The default value is 
half.width 
positive scalar indicating the halfwidth of the prediction interval.
The default value depends on the value of 
sigma.hat 
numeric scalar specifying the value of the estimated standard deviation.
The default value is 
coverage 
numeric scalar between 0 and 1 indicating the desired coverage of the
tolerance interval. The default value is 
conf.level 
numeric scalar between 0 and 1 indicating the confidence level of the
tolerance interval. The default value is 
cov.type 
character string specifying the coverage type for the tolerance interval. The
possible values are 
round.up 
for the case when 
n.max 
for the case when 
tol 
for the case when 
maxiter 
for the case when 
plot.it 
a logical scalar indicating whether to create a plot or add to the existing plot
(see explanation of the argument 
add 
a logical scalar indicating whether to add the design plot to the existing plot ( 
n.points 
a numeric scalar specifying how many (x,y) pairs to use to produce the plot.
There are 
plot.col 
a numeric scalar or character string determining the color of the plotted line or points. The default value
is 
plot.lwd 
a numeric scalar determining the width of the plotted line. The default value is

plot.lty 
a numeric scalar determining the line type of the plotted line. The default value is

digits 
a scalar indicating how many significant digits to print out on the plot. The default
value is the current setting of 
main , xlab , ylab , type , ... 
additional graphical parameters (see 
See the help files for tolIntNorm
, tolIntNormK
,
tolIntNormHalfWidth
, and tolIntNormN
for information
on how to compute a tolerance interval for a normal distribution, how the
halfwidth is computed when other quantities are fixed, and how the sample size
is computed when other quantities are fixed.
plotTolIntNormDesign
invisibly returns a list with components:
x.var 
xcoordinates of points that have been or would have been plotted. 
y.var 
ycoordinates of points that have been or would have been plotted. 
See the help file for tolIntNorm
.
In the course of designing a sampling program, an environmental scientist may wish
to determine the relationship between sample size, confidence level, and halfwidth
if one of the objectives of the sampling program is to produce tolerance intervals.
The functions tolIntNormHalfWidth
, tolIntNormN
, and
plotTolIntNormDesign
can be used to investigate these relationships for the
case of normallydistributed observations.
Steven P. Millard (EnvStats@ProbStatInfo.com)
See the help file for tolIntNorm
.
tolIntNorm
, tolIntNormK
,
tolIntNormN
, plotTolIntNormDesign
,
Normal
.
# Look at the relationship between halfwidth and sample size for a
# 95% betacontent tolerance interval, assuming an estimated standard
# deviation of 1 and a confidence level of 95%:
dev.new()
plotTolIntNormDesign()
#==========
# Plot halfwidth vs. coverage for various levels of confidence:
dev.new()
plotTolIntNormDesign(x.var = "coverage", y.var = "half.width",
ylim = c(0, 3.5), main="")
plotTolIntNormDesign(x.var = "coverage", y.var = "half.width",
conf.level = 0.9, add = TRUE, plot.col = "red")
plotTolIntNormDesign(x.var = "coverage", y.var = "half.width",
conf.level = 0.8, add = TRUE, plot.col = "blue")
legend("topleft", c("95%", "90%", "80%"), lty = 1, lwd = 3 * par("cex"),
col = c("black", "red", "blue"), bty = "n")
title(main = paste("HalfWidth vs. Coverage for Tolerance Interval",
"with Sigma Hat=1 and Various Confidence Levels", sep = "\n"))
#==========
# Example 173 of USEPA (2009, p. 1717) shows how to construct a
# betacontent upper tolerance limit with 95% coverage and 95%
# confidence using chrysene data and assuming a lognormal distribution.
# The data for this example are stored in EPA.09.Ex.17.3.chrysene.df,
# which contains chrysene concentration data (ppb) found in water
# samples obtained from two background wells (Wells 1 and 2) and
# three compliance wells (Wells 3, 4, and 5). The tolerance limit
# is based on the data from the background wells.
# Here we will first take the log of the data and then estimate the
# standard deviation based on the two background wells. We will use this
# estimate of standard deviation to plot the halfwidths of
# future tolerance intervals on the logscale for various sample sizes.
head(EPA.09.Ex.17.3.chrysene.df)
# Month Well Well.type Chrysene.ppb
#1 1 Well.1 Background 19.7
#2 2 Well.1 Background 39.2
#3 3 Well.1 Background 7.8
#4 4 Well.1 Background 12.8
#5 1 Well.2 Background 10.2
#6 2 Well.2 Background 7.2
longToWide(EPA.09.Ex.17.3.chrysene.df, "Chrysene.ppb", "Month", "Well")
# Well.1 Well.2 Well.3 Well.4 Well.5
#1 19.7 10.2 68.0 26.8 47.0
#2 39.2 7.2 48.9 17.7 30.5
#3 7.8 16.1 30.1 31.9 15.0
#4 12.8 5.7 38.1 22.2 23.4
summary.stats < summaryStats(log(Chrysene.ppb) ~ Well.type,
data = EPA.09.Ex.17.3.chrysene.df)
summary.stats
# N Mean SD Median Min Max
#Background 8 2.5086 0.6279 2.4359 1.7405 3.6687
#Compliance 12 3.4173 0.4361 3.4111 2.7081 4.2195
sigma.hat < summary.stats["Background", "SD"]
sigma.hat
#[1] 0.6279
dev.new()
plotTolIntNormDesign(x.var = "n", y.var = "half.width",
range.x.var = c(5, 40), sigma.hat = sigma.hat, cex.main = 1)
#==========
# Clean up
#
rm(summary.stats, sigma.hat)
graphics.off()