plotPropTestDesign | R Documentation |
Create plots involving sample size, power, difference, and significance level for a one- or two-sample 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 = 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")
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 |
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.
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
# 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()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.