plotPredIntNormDesign {EnvStats} | R Documentation |
Plots for a Sampling Design Based on a Prediction Interval for the Next k
Observations from a Normal Distribution
Description
Create plots involving sample size, number of future observations, half-width,
estimated standard deviation, and confidence level for a prediction interval for
the next k
observations from a normal distribution.
Usage
plotPredIntNormDesign(x.var = "n", y.var = "half.width", range.x.var = NULL,
n = 25, k = 1, n.mean = 1, half.width = 4 * sigma.hat, sigma.hat = 1,
method = "Bonferroni", conf.level = 0.95, round.up = FALSE, n.max = 5000,
tol = 1e-07, maxiter = 1000, plot.it = TRUE, add = FALSE, n.points = 100,
plot.col = "black", plot.lwd = 3 * par("cex"), plot.lty = 1,
digits = .Options$digits, cex.main = par("cex"), ..., main = NULL,
xlab = NULL, ylab = NULL, type = "l")
Arguments
x.var |
character string indicating what variable to use for the x-axis.
Possible values are |
y.var |
character string indicating what variable to use for the y-axis.
Possible values are |
range.x.var |
numeric vector of length 2 indicating the range of the x-variable 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 prediction interval is based. The default value is |
k |
positive integer specifying the number of future observations
or averages the prediction interval should contain with confidence level
|
n.mean |
positive integer specifying the sample size associated with the |
half.width |
positive scalar indicating the half-widths of the prediction interval.
The default value is |
sigma.hat |
numeric scalar specifying the value of the estimated standard deviation.
The default value is |
method |
character string specifying the method to use if the number of future observations
( |
conf.level |
numeric scalar between 0 and 1 indicating the confidence level of the
prediction interval. The default value is |
round.up |
for the case when |
n.max |
for the case when |
tol |
numeric scalar indicating the tolerance to use in the |
maxiter |
positive integer indicating the maximum number of iterations to use in the
|
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 |
cex.main , main , xlab , ylab , type , ... |
additional graphical parameters (see |
Details
See the help files for predIntNorm
, predIntNormK
,
predIntNormHalfWidth
, and predIntNormN
for
information on how to compute a prediction interval for the next k
observations or averages from a normal distribution, how the half-width is
computed when other quantities are fixed, and how the
sample size is computed when other quantities are fixed.
Value
plotPredIntNormDesign
invisibly returns a list with components:
x.var |
x-coordinates of points that have been or would have been plotted. |
y.var |
y-coordinates of points that have been or would have been plotted. |
Note
See the help file for predIntNorm
.
In the course of designing a sampling program, an environmental scientist may wish
to determine the relationship between sample size, confidence level, and half-width
if one of the objectives of the sampling program is to produce prediction intervals.
The functions predIntNormHalfWidth
, predIntNormN
, and
plotPredIntNormDesign
can be used to investigate these relationships for the
case of normally-distributed observations.
Author(s)
Steven P. Millard (EnvStats@ProbStatInfo.com)
References
See the help file for predIntNorm
.
See Also
predIntNorm
, predIntNormK
,
predIntNormHalfWidth
, predIntNormN
,
Normal
.
Examples
# Look at the relationship between half-width and sample size for a
# prediction interval for k=1 future observation, assuming an estimated
# standard deviation of 1 and a confidence level of 95%:
dev.new()
plotPredIntNormDesign()
#==========
# Plot sample size vs. the estimated standard deviation for various levels
# of confidence, using a half-width of 4:
dev.new()
plotPredIntNormDesign(x.var = "sigma.hat", y.var = "n", range.x.var = c(1, 2),
ylim = c(0, 90), main = "")
plotPredIntNormDesign(x.var = "sigma.hat", y.var = "n", range.x.var = c(1, 2),
conf.level = 0.9, add = TRUE, plot.col = "red")
plotPredIntNormDesign(x.var = "sigma.hat", y.var = "n", range.x.var = c(1, 2),
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("Sample Size vs. Sigma Hat for Prediction Interval for",
"k=1 Future Obs, Half-Width=4, and Various Confidence Levels",
sep = "\n"))
#==========
# The data frame EPA.92c.arsenic3.df contains arsenic concentrations (ppb)
# collected quarterly for 3 years at a background well and quarterly for
# 2 years at a compliance well. Using the data from the background well,
# plot the relationship between half-width and sample size for a two-sided
# 90% prediction interval for k=4 future observations.
EPA.92c.arsenic3.df
# Arsenic Year Well.type
#1 12.6 1 Background
#2 30.8 1 Background
#3 52.0 1 Background
#...
#18 3.8 5 Compliance
#19 2.6 5 Compliance
#20 51.9 5 Compliance
mu.hat <- with(EPA.92c.arsenic3.df,
mean(Arsenic[Well.type=="Background"]))
mu.hat
#[1] 27.51667
sigma.hat <- with(EPA.92c.arsenic3.df,
sd(Arsenic[Well.type=="Background"]))
sigma.hat
#[1] 17.10119
dev.new()
plotPredIntNormDesign(x.var = "n", y.var = "half.width", range.x.var = c(4, 50),
k = 4, sigma.hat = sigma.hat, conf.level = 0.9)
#==========
# Clean up
#---------
rm(mu.hat, sigma.hat)
graphics.off()