plotLinearTrendTestDesign.Rd
Create plots involving sample size, power, scaled difference, and significance level for a t-test for linear trend.
plotLinearTrendTestDesign(x.var = "n", y.var = "power",
range.x.var = NULL, n = 12,
slope.over.sigma = switch(alternative, greater = 0.1, less = -0.1,
two.sided = ifelse(two.sided.direction == "greater", 0.1, -0.1)),
alpha = 0.05, power = 0.95, alternative = "two.sided",
two.sided.direction = "greater", approx = FALSE, round.up = FALSE,
n.max = 5000, tol = 1e-07, maxiter = 1000, plot.it = TRUE, add = FALSE,
n.points = ifelse(x.var == "n", diff(range.x.var) + 1, 50),
plot.col = "black", plot.lwd = 3 * par("cex"), plot.lty = 1,
digits = .Options$digits, ..., main = NULL, xlab = NULL, ylab = NULL,
type = "l")
character string indicating what variable to use for the x-axis.
Possible values are "n"
(sample size; the default),
"slope.over.sigma"
(scaled minimal detectable slope), "power"
(power of the test), and "alpha"
(significance level of the test).
character string indicating what variable to use for the y-axis.
Possible values are "power"
(power of the test; the default),
"slope.over.sigma"
(scaled minimal detectable slope), and
"n"
(sample size).
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(3,25)
. When
x.var="slope.over.sigma"
and alternative="greater"
or
alternative="two.sided"
and two.sided.direction="greater"
, the default value is c(0.1, 1)
.
When x.var="slope.over.sigma"
and alternative="less"
or alternative="two.sided"
and
two.sided.direction="less"
, the default value is -c(1, 0.1)
.
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)
.
numeric scalar indicating the sample size. The default value is
n=12
. 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"
.
numeric scalar specifying the ratio of the true slope (\(\beta_1\)) to the
population standard deviation of the error terms (\(\sigma\)).
This is also called the "scaled slope". When alternative="greater"
or
alternative="two.sided"
and two.sided.direction="greater"
, the default
value is slope.over.sigma=0.1
. When alternative="less"
or
alternative="two.sided"
and two.sided.direction="less"
, the default
value is delta.over.sigma=-0.1
. This argument is ignored when
x.var="slope.over.sigma"
or y.var="slope.over.sigma"
.
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"
.
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"
.
character string indicating the kind of alternative hypothesis. The possible values
are "two.sided"
(the default), "greater"
, and "less"
.
character string indicating the direction (positive or negative) for the
scaled minimal detectable slope when alternative="two.sided"
. When two.sided.direction="greater"
(the default), the scaled minimal detectable slope is positive.
When two.sided.direction="less"
, the scaled minimal detectable slope is negative.
This argument is ignored if alternative="less"
or alternative="greater"
.
logical scalar indicating whether to compute the power based on an approximation to
the non-central t-distribution. The default value is approx=FALSE
.
logical scalar indicating whether to round up the values of the computed
sample size(s) to the next smallest integer. The default value is
FALSE
.
for the case when y.var="n"
, a positive integer greater than 2 indicating
the maximum sample size. The default value is n.max=5000
.
numeric scalar indicating the toloerance to use in the
uniroot
search algorithm.
The default value is tol=1e-7
.
positive integer indicating the maximum number of iterations
argument to pass to the uniroot
function. The default
value is maxiter=1000
.
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
.
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
.
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=50
unless x.var="n"
, in which case n.points=diff(range.x.var)+1
.
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.
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.
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.
a scalar indicating how many significant digits to print out on the plot. The default
value is the current setting of options("digits")
.
additional graphical parameters (see par
).
See the help files for linearTrendTestPower
,
linearTrendTestN
, and linearTrendTestScaledMds
for
information on how to compute the power, sample size, or scaled minimal detectable
slope for a t-test for linear trend.
plotlinearTrendTestDesign
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 file for linearTrendTestPower
.
See the help files for linearTrendTestPower
.
# Look at the relationship between power and sample size for the t-test for
# liner trend, assuming a scaled slope of 0.1 and a 5% significance level:
dev.new()
plotLinearTrendTestDesign()
#==========
# Plot sample size vs. the scaled minimal detectable slope for various
# levels of power, using a 5% significance level:
dev.new()
plotLinearTrendTestDesign(x.var = "slope.over.sigma", y.var = "n",
ylim = c(0, 30), main = "")
plotLinearTrendTestDesign(x.var = "slope.over.sigma", y.var = "n",
power = 0.9, add = TRUE, plot.col = "red")
plotLinearTrendTestDesign(x.var = "slope.over.sigma", y.var = "n",
power = 0.8, add = TRUE, plot.col = "blue")
legend("topright", c("95%", "90%", "80%"), lty = 1, bty = "n",
lwd = 3 * par("cex"), col = c("black", "red", "blue"))
title(main = paste("Sample Size vs. Scaled Slope for t-Test for Linear Trend",
"with Alpha=0.05 and Various Powers", sep="\n"))
#==========
# Clean up
#---------
graphics.off()