plotPropTestDesign {EnvStats}  R Documentation 
Create plots involving sample size, power, difference, and significance level for a one or twosample proportion test.
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 = 1e07, 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")
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.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 onesample or
twosample 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 
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 twosample proportion test.
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.
See the help files for propTestPower
, propTestN
, and
propTestMdd
.
Steven P. Millard (EnvStats@ProbStatInfo.com)
See the help files for propTestPower
, propTestN
, and
propTestMdd
.
propTestPower
, propTestN
,
propTestMdd
, Binomial,
binom.test
, prop.test
.
# Look at the relationship between power and sample size for a
# onesample 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 twosample proportion test, plot sample size vs. the minimal detectable
# difference for various levels of power, using a 5% significance level and a
# twosided 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 TwoSample",
"Proportion Test with p2=0.5, Alpha=0.05 and Various Powers", sep = "\n"))
#==========
# Example 223 on page 2220 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 onesided 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 OneSided OneSample Proportion",
"Test with p0=0.1, Alpha=0.05 and Various Detectable Differences",
sep = "\n"))
#==========
# Clean up
#
graphics.off()