| plotPropTestDesign {EnvStats} | R Documentation |
Plots for Sampling Design Based on One- or Two-Sample Proportion Test
Description
Create plots involving sample size, power, difference, and significance level for a one- or two-sample proportion test.
Usage
plotPropTestDesign(x.var = "n", y.var = "power",
range.x.var = NULL, n.or.n1 = 25, n2 = n.or.n1, ratio = 1,
p.or.p1 = switch(alternative, greater = 0.6, less = 0.4,
two.sided = ifelse(two.sided.direction == "greater", 0.6, 0.4)),
p0.or.p2 = 0.5, alpha = 0.05, power = 0.95,
sample.type = ifelse(!missing(n2) || !missing(ratio), "two.sample", "one.sample"),
alternative = "two.sided", two.sided.direction = "greater",
approx = TRUE, correct = sample.type == "two.sample", round.up = FALSE,
warn = TRUE, n.min = 2, n.max = 10000, tol.alpha = 0.1 * alpha,
tol = 1e-07, maxiter = 1000, plot.it = TRUE, add = FALSE, n.points = 50,
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.or.n1 |
numeric scalar indicating the sample size. The default value is
|
n2 |
numeric scalar indicating the sample size for group 2. The default value
is the value of |
ratio |
numeric vector indicating the ratio of sample size in group 2 to sample
size in group 1 |
p.or.p1 |
numeric vector of proportions. When |
p0.or.p2 |
numeric vector of proportions. When |
alpha |
numeric scalar between 0 and 1 indicating the Type I error level associated
with the hypothesis test. The default value is |
power |
numeric scalar between 0 and 1 indicating the power associated with the
hypothesis test. The default value is |
sample.type |
character string indicating whether the design is based on a one-sample or
two-sample proportion test. When |
alternative |
character string indicating the kind of alternative hypothesis. The possible
values are |
two.sided.direction |
character string indicating the direction (positive or negative) for the minimal
detectable difference when |
approx |
logical scalar indicating whether to compute the power, sample size, or minimal
detectable difference based on the normal approximation to the binomial distribution.
The default value is |
correct |
logical scalar indicating whether to use the continuity correction when |
round.up |
logical scalar indicating whether to round up the values of the computed sample
size(s) to the next smallest integer. The default value is |
warn |
logical scalar indicating whether to issue a warning. The default value is |
n.min |
integer relevant to the case when |
n.max |
integer relevant to the case when |
tol.alpha |
numeric vector relevant to the case when |
tol |
numeric scalar relevant to the case when |
maxiter |
integer relevant to the case when |
plot.it |
a logical scalar indicating whether to create a new plot or add to the existing plot
(see |
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 propTestPower, propTestN, and
propTestMdd for information on how to compute the power, sample size,
or minimal detectable difference for a one- or two-sample proportion test.
Value
plotPropTestDesign invisibly returns a list with components
x.var and y.var, giving coordinates of the points that have
been or would have been plotted.
Note
See the help files for propTestPower, propTestN, and
propTestMdd.
Author(s)
Steven P. Millard (EnvStats@ProbStatInfo.com)
References
See the help files for propTestPower, propTestN, and
propTestMdd.
See Also
propTestPower, propTestN,
propTestMdd, Binomial,
binom.test, prop.test.
Examples
# Look at the relationship between power and sample size for a
# one-sample proportion test, assuming the true proportion is 0.6, the
# hypothesized proportion is 0.5, and a 5% significance level.
# Compute the power based on the normal approximation to the binomial
# distribution.
dev.new()
plotPropTestDesign()
#----------
# For a two-sample proportion test, plot sample size vs. the minimal detectable
# difference for various levels of power, using a 5% significance level and a
# two-sided alternative:
dev.new()
plotPropTestDesign(x.var = "delta", y.var = "n", sample.type = "two",
ylim = c(0, 2800), main="")
plotPropTestDesign(x.var = "delta", y.var = "n", sample.type = "two",
power = 0.9, add = TRUE, plot.col = "red")
plotPropTestDesign(x.var = "delta", y.var = "n", sample.type = "two",
power = 0.8, add = TRUE, plot.col = "blue")
legend("topright", c("95%", "90%", "80%"), lty = 1,
lwd = 3 * par("cex"), col = c("black", "red", "blue"), bty = "n")
title(main = paste("Sample Size vs. Minimal Detectable Difference for Two-Sample",
"Proportion Test with p2=0.5, Alpha=0.05 and Various Powers", sep = "\n"))
#==========
# Example 22-3 on page 22-20 of USEPA (2009) involves determining whether more than
# 10% of chlorine gas containers are stored at pressures above a compliance limit.
# We want to test the one-sided null hypothesis that 10% or fewer of the containers
# are stored at pressures greater than the compliance limit versus the alternative
# that more than 10% are stored at pressures greater than the compliance limit.
# We want to have at least 90% power of detecting a true proportion of 30% or
# greater, using a 5% Type I error level.
# Here we will modify this example and create a plot of power versus
# sample size for various assumed minimal detactable differences,
# using a 5% Type I error level.
dev.new()
plotPropTestDesign(x.var = "n", y.var = "power",
sample.type = "one", alternative = "greater",
p0.or.p2 = 0.1, p.or.p1 = 0.25,
range.x.var = c(20, 50), ylim = c(0.6, 1), main = "")
plotPropTestDesign(x.var = "n", y.var = "power",
sample.type = "one", alternative = "greater",
p0.or.p2 = 0.1, p.or.p1 = 0.3,
range.x.var = c(20, 50), add = TRUE, plot.col = "red")
plotPropTestDesign(x.var = "n", y.var = "power",
sample.type = "one", alternative = "greater",
p0.or.p2 = 0.1, p.or.p1 = 0.35,
range.x.var = c(20, 50), add = TRUE, plot.col = "blue")
legend("bottomright", c("p=0.35", "p=0.3", "p=0.25"), lty = 1,
lwd = 3 * par("cex"), col = c("blue", "red", "black"), bty = "n")
title(main = paste("Power vs. Sample Size for One-Sided One-Sample Proportion",
"Test with p0=0.1, Alpha=0.05 and Various Detectable Differences",
sep = "\n"))
#==========
# Clean up
#---------
graphics.off()