Power calculations for one and two sample t tests with unequal sample size
Power calculations for one and two sample t tests with unequal sample size
Compute power of test, or determine parameters to obtain target power for equal and unequal sample sizes.
power_t_test( n =NULL, delta =NULL, sd =1, sig.level =0.05, power =NULL, ratio =1, sd.ratio =1, type = c("two.sample","one.sample","paired"), alternative = c("two.sided","one.sided"), df.method = c("welch","classical"), strict =TRUE)
Arguments
n: Number of observations (in the smallest group if two groups)
delta: True difference in means
sd: Standard deviation
sig.level: Significance level (Type I error probability)
power: Power of test (1 minus Type II error probability)
ratio: The ratio n2/n1 between the larger group and the smaller group. Should be a value equal to or greater than 1 since n2 is the larger group. Defaults to 1 (equal group sizes). If ratio is set to NULL (i.e., find the ratio) then the ratio might be smaller than 1 depending on the desired power and ratio of the sd's.
sd.ratio: The ratio sd2/sd1 between the standard deviations in the larger group and the smaller group. Defaults to 1 (equal standard deviations in the two groups)
type: Type of t test
alternative: One- or two-sided test
df.method: Method for calculating the degrees of default. Possibilities are welch (the default) or classical.
strict: Use strict interpretation in two-sided case. Defaults to TRUE unlike the standard power.t.test function.
Returns
Object of class power.htest, a list of the arguments (including the computed one) augmented with method and note elements.
Details
Exactly one of the parameters n, delta, power, sd, sig.level, ratiosd.ratio
must be passed as NULL, and that parameter is determined from the others. Notice that the last two have non-NULL defaults so NULL must be explicitly passed if you want to compute them.
The default strict = TRUE ensures that 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.
Note
uniroot is used to solve power equation for unknowns, so you may see errors from it, notably about inability to bracket the root when invalid arguments are given.
Examples
# Sampling with a ratio of 1:4power_t_test(delta=300, sd=450, power=.8, ratio=4)# Equal group sizes but different sd's# The sd in the second group is twice the sd in the second grouppower_t_test(delta=300, sd=450, power=.8, sd.ratio=2)# Fixed group one size to 50 individuals, but looking for the number of individuals in the# second group. Different sd's with twice the sd in the larger grouppower_t_test(n=50, delta=300, sd=450, power=.8, ratio=NULL, sd.ratio=2)