Type I Error Level for a One- or Two-Sample t-Test
Compute the Type I Error level necessary to achieve a specified power for a one- or two-sample t-test, given the sample size(s) and scaled difference.
tTestAlpha(n.or.n1, n2 = n.or.n1, delta.over.sigma = 0, power = 0.95, sample.type = ifelse(!missing(n2) && !is.null(n2), "two.sample", "one.sample"), alternative = "two.sided", approx = FALSE, tol = 1e-07, maxiter = 1000)
n.or.n1 |
numeric vector of sample sizes. When |
n2 |
numeric vector of sample sizes for group 2. The default value is the value of
|
delta.over.sigma |
numeric vector specifying the ratio of the true difference (δ) to the population standard deviation (σ). This is also called the “scaled difference”. |
power |
numeric vector of numbers between 0 and 1 indicating the power
associated with the hypothesis test. The default value is |
sample.type |
character string indicating whether to compute power based on a one-sample or
two-sample hypothesis test. When |
alternative |
character string indicating the kind of alternative hypothesis. The possible values
are |
approx |
logical scalar indicating whether to compute the power based on an approximation to
the non-central t-distribution. The default value is |
tol |
numeric scalar indicating the tolerance argument to pass to the
|
maxiter |
positive integer indicating the maximum number of iterations
argument to pass to the |
Formulas for the power of the t-test for specified values of
the sample size, scaled difference, and Type I error level are given in
the help file for tTestPower
. The function tTestAlpha
uses the uniroot
search algorithm to determine the
required Type I error level for specified values of the sample size, power,
and scaled difference.
numeric vector of Type I error levels.
See tTestPower
.
Steven P. Millard (EnvStats@ProbStatInfo.com)
See tTestPower
.
# Look at how the required Type I error level for the one-sample t-test # decreases with increasing sample size. Set the power to 80% and # the scaled difference to 0.5. seq(5, 30, by = 5) #[1] 5 10 15 20 25 30 alpha <- tTestAlpha(n.or.n1 = seq(5, 30, by = 5), power = 0.8, delta.over.sigma = 0.5) round(alpha, 2) #[1] 0.65 0.45 0.29 0.18 0.11 0.07 #---------- # Repeat the last example, but use the approximation. # Note how the approximation underestimates the power # for the smaller sample sizes. #---------------------------------------------------- alpha <- tTestAlpha(n.or.n1 = seq(5, 30, by = 5), power = 0.8, delta.over.sigma = 0.5, approx = TRUE) round(alpha, 2) #[1] 0.63 0.46 0.30 0.18 0.11 0.07 #---------- # Look at how the required Type I error level for the two-sample # t-test decreases with increasing scaled difference. Use # a power of 90% and a sample size of 10 in each group. seq(0.5, 2, by = 0.5) #[1] 0.5 1.0 1.5 2.0 alpha <- tTestAlpha(10, sample.type = "two.sample", power = 0.9, delta.over.sigma = seq(0.5, 2, by = 0.5)) round(alpha, 2) #[1] 0.82 0.35 0.06 0.01 #---------- # Look at how the required Type I error level for the two-sample # t-test increases with increasing values of required power. Use # a sample size of 20 for each group and a scaled difference of # 1. alpha <- tTestAlpha(20, sample.type = "two.sample", delta.over.sigma = 1, power = c(0.8, 0.9, 0.95)) round(alpha, 2) #[1] 0.03 0.07 0.14 #---------- # Clean up #--------- rm(alpha)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.