power.welch.t.test {MKpower} | R Documentation |
Power Calculations for Two-sample Welch t Test
Description
Compute the power of the two-sample Welch t test, or determine parameters to obtain a target power.
Usage
power.welch.t.test(n = NULL, delta = NULL, sd1 = 1, sd2 = 1, sig.level = 0.05,
power = NULL, alternative = c("two.sided", "one.sided"),
strict = FALSE, tol = .Machine$double.eps^0.25)
Arguments
n |
number of observations (per group) |
delta |
(expected) true difference in means |
sd1 |
(expected) standard deviation of group 1 |
sd2 |
(expected) standard deviation of group 2 |
sig.level |
significance level (Type I error probability) |
power |
power of test (1 minus Type II error probability) |
alternative |
one- or two-sided test. Can be abbreviated. |
strict |
use strict interpretation in two-sided case |
tol |
numerical tolerance used in root finding, the default providing (at least) four significant digits. |
Details
Exactly one of the parameters n
, delta
, power
,
sd1
, sd2
and sig.level
must be passed as NULL
,
and that parameter is determined from the others. Notice that the last three
have non-NULL defaults, so NULL must be explicitly passed if you want to
compute them.
If strict = TRUE
is used, the power will include the probability of
rejection in the opposite direction of the true effect, in the two-sided
case. Without this the power will be half the significance level if the
true difference is zero.
Value
Object of class "power.htest"
, a list of the arguments
(including the computed one) augmented with method
and
note
elements.
Note
The function and its documentation was adapted from power.t.test
implemented by Peter Dalgaard and based on previous work by Claus Ekstroem.
uniroot
is used to solve the power equation for unknowns, so
you may see errors from it, notably about inability to bracket the
root when invalid arguments are given.
Author(s)
Matthias Kohl Matthias.Kohl@stamats.de
References
S.L. Jan and G. Shieh (2011). Optimal sample sizes for Welch's test under various allocation and cost considerations. Behav Res Methods, 43, 4:1014-22.
See Also
Examples
## identical results as power.t.test, since sd = sd1 = sd2 = 1
power.welch.t.test(n = 20, delta = 1)
power.welch.t.test(power = .90, delta = 1)
power.welch.t.test(power = .90, delta = 1, alternative = "one.sided")
## sd1 = 0.5, sd2 = 1
power.welch.t.test(delta = 2, sd1 = 0.5, sd2 = 1, power = 0.9)
## empirical check
M <- 10000
pvals.welch <- numeric(M)
for(i in seq_len(M)){
x <- rnorm(5, mean = 0, sd = 0.5)
y <- rnorm(5, mean = 2, sd = 1.0)
pvals.welch[i] <- t.test(x, y)$p.value
}
## empirical power
sum(pvals.welch < 0.05)/M