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 "n"
(sample size; the default),
"delta"
(minimal detectable difference), "power"
(power of the test), and "alpha"
(significance level of the test).
y.var
character string indicating what variable to use for the y-axis.
Possible values are "power"
(power of the test; the default),
"delta"
(minimal detectable difference), and "n"
(sample size).
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 x.var
.
When x.var="n"
the default value is c(20,400)
. When
x.var="delta"
and alternative="greater"
or
alternative="two.sided"
and two.sided.direction="greater"
,
the default value is c(0.05, 0.2)
. When x.var="delta"
and
alternative="less"
or alternative="two.sided"
and
two.sided.direction="less"
, the default value is -c(0.2, 0.05)
.
When x.var="power"
the default value is
c(alpha + .Machine$double.eps, 0.95)
. When x.var="alpha"
, the
default value is c(0.01, 0.2)
.
n.or.n1
numeric scalar indicating the sample size. The default value is
n.or.n1=25
. When sample.type="one.sample"
, n.or.n1
denotes the number of observations in the single sample. When
sample.type="two.sample"
, n.or.n1
denotes the number of
observations from group 1. Missing (NA
), undefined (NaN
),
and infinite (Inf
, -Inf
) values are not allowed. This
argument is ignored if either x.var="n"
or y.var="n"
.
n2
numeric scalar indicating the sample size for group 2. The default value
is the value of n.or.n1
. Missing (NA
), undefined (NaN
),
and infinite (Inf
, -Inf
) values are not allowed. This
argument is ignored when sample.type="one.sample"
.
ratio
numeric vector indicating the ratio of sample size in group 2 to sample
size in group 1 $n_2/n_1$. The default value is ratio=1
.
All values of ratio
must be greater than or equal to 1. This
argument is only used when x.var="n"
or y.var="n"
and
sample.type="two.sample"
.
p.or.p1
numeric vector of proportions. When sample.type="one.sample"
,
p.or.p1
denotes the true value of $p$, the probability of
success. When
sample.type="two.sample"
, p.or.p1
denotes the value of $p_1$, the probability of success in
group 1. When alternative="greater"
or
alternative="two.sided"
and two.sided.direction="greater"
,
the default value is p.or.p1=0.6
. When alternative="less"
or
alternative="two.sided"
and two.sided.direction="less"
,
the default value is p.or.p1=0.4
.
Missing (NA
), undefined (NaN
),
and infinite (Inf
, -Inf
) values are not allowed.
This argument is ignored when x.var="delta"
or y.var="delta"
.
p0.or.p2
numeric vector of proportions. When sample.type="one.sample"
,
p0.or.p2
denotes the hypothesized value of $p$, the
probability of success. When
sample.type="two.sample"
,
p0.or.p2
denotes the value of $p_2$, the probability of
success in group 2. The default value is p0.or.p2=0.5
.
Missing (NA
), undefined (NaN
),
and infinite (Inf
, -Inf
) values are not allowed.
alpha
numeric scalar between 0 and 1 indicating the Type I error level associated
with the hypothesis test. The default value is alpha=0.05
.
This argument is ignored when x.var="alpha"
.
power
numeric scalar between 0 and 1 indicating the power associated with the
hypothesis test. The default value is power=0.95
. This argument is
ignored when x.var="power"
or y.var="power"
.
sample.type
character string indicating whether the design is based on a one-sample or
two-sample proportion test. When sample.type="one.sample"
, the computations
for the plot are based on a one-sample proportion test. When
sample.type="two.sample"
, the computations for the plot are based on a
two-sample proportion test. The default value is sample.type="one.sample"
.
alternative
character string indicating the kind of alternative hypothesis. The possible
values are "two.sided"
(the default), "less"
, and "greater"
.
two.sided.direction
character string indicating the direction (positive or negative) for the minimal
detectable difference when alternative="two.sided"
. When
two.sided.direction="greater"
(the default), the minimal detectable
difference is positive. When two.sided.direction="less"
, the minimal
detectable difference is negative. This argument is ignored unless
alternative="two.sided"
and either x.var="delta"
or y.var="delta"
.
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 approx=TRUE
. Currently, the exact method
(approx=FALSE
)
is only available for the one-sample case (i.e.,
sample.type="one.sample"
).
correct
logical scalar indicating whether to use the continuity correction when
approx=TRUE
. The default value is correct=TRUE
when
sample.type="two.sample"
and correct=FALSE
when
sample.type="one.sample"
. This argument is ignored when
approx=FALSE
.
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 round.up=FALSE
.
This argument is ignored unless y.var="n"
.
warn
logical scalar indicating whether to issue a warning. The default value is
warn=TRUE
. When approx=TRUE
(test based on the normal approximation)
and warn=TRUE
, a warning is issued for cases when the normal approximation
to the binomial distribution probably is not accurate. When approx=FALSE
(exact test) and warn=TRUE
, a warning is issued when the user-supplied
sample size is too small to yield a significance level less than or equal to the
user-supplied value of alpha
.
n.min
integer relevant to the case when y.var="n"
and approx=FALSE
(i.e., when the power is based on the exact test). This argument indicates the
minimum allowed value for $n$ to use in the search algorithm. The default
value is n.min=2
.
n.max
integer relevant to the case when y.var="n"
and approx=FALSE
(i.e., when the power is based on the exact test). This argument indicates the
maximum allowed value for $n$ to use in the search algorithm. The default
value is n.max=10000
.
tol.alpha
numeric vector relevant to the case when y.var="n"
and approx=FALSE
(i.e., when the power is based on the exact test). This argument indicates the
tolerance on alpha
to use in the search algorithm (i.e., how close the
actual Type I error level is to the value prescribed by the argument alpha
).
The default value is tol.alpha=0.1*alpha
.
tol
numeric scalar relevant to the case when y.var="n"
and approx=FALSE
(i.e., when the power is based on the exact test), or when y.var="delta"
.
This argument is passed to the uniroot
function and indicates the tolerance
to use in the search algorithm. The default value is tol=1e-7
.
maxiter
integer relevant to the case when y.var="n"
and approx=FALSE
(i.e., when the power is based on the exact test), or when y.var="delta"
.
This argument is passed to the
uniroot
function and indicates the maximum number of iterations to use
in the search algorithm. The default value is maxiter=1000
.
plot.it
a logical scalar indicating whether to create a new plot or add to the existing plot
(see add
) on the current graphics device. If plot.it=FALSE
, no plot
is produced, but a list of (x,y) values is returned (see VALUE). The default value
is plot.it=TRUE
.
add
a logical scalar indicating whether to add the design plot to the
existing plot (add=TRUE
), or to create a plot from scratch
(add=FALSE
). The default value is add=FALSE
.
This argument is ignored if plot.it=FALSE
.
n.points
a numeric scalar specifying how many (x,y) pairs to use to produce the plot.
There are n.points
x-values evenly spaced between range.x.var[1]
and
range.x.var[2]
. The default value is n.points=100
.
plot.col
a numeric scalar or character string determining the color of the plotted
line or points. The default value is plot.col="black"
. See the
entry for col
in the help file for par
for more information.
plot.lwd
a numeric scalar determining the width of the plotted line. The default value is
3*par("cex")
. See the entry for lwd
in the help file for par
for more information.
plot.lty
a numeric scalar determining the line type of the plotted line. The default value is
plot.lty=1
. See the entry for lty
in the help file for par
for more information.
digits
a scalar indicating how many significant digits to print out on the plot. The default
value is the current setting of options("digits")
.
cex.main, main, xlab, ylab, type, ...
additional graphical parameters (see par
).