R/lc.mean.ws.R

Defines functions size.test.lc.mean.ws size.ci.lc.mean.ws ci.lc.mean.ws

Documented in ci.lc.mean.ws size.ci.lc.mean.ws

# DGB
## Linear Contrast of Means (Within Subjects)

ci.lc.mean.ws <- function(alpha, m, var, cor, n, h) {
 # Computes confidence interval for a population linear contrast 
 # of means in a within-subjects design (assumes equal variances
 # and correlations).
 # Arguments: 
 #   alpha: alpha level for 1-alpha confidence
 #   m:     vector of sample means
 #   var:   average of sample variances
 #   cor:   average of sample correlations
 #   n:     sample size
 #   h:     vector of contrast coefficients
 # Values:
 #   estimate, SE, df, lower limit, upper limit
 df <- n - 1
 tcrit <- qt(1 - alpha/2, df)
 a <- length(m)
 v <- matrix(var, a, 1)
 C <- matrix(cor, a, a)
 diag(C) <- v
 est <- (t(h)%*%m)
 se <- sqrt(t(h)%*%C%*%h/n)
 t <- est/se;
 p <- 2*(1 - pt(abs(t), df))
 ll <- est - tcrit*se
 ul <- est + tcrit*se
 out <- t(c(est, se, df, ll, ul))
 colnames(out) <- c("Estimate", "SE", "df", "LL", "UL")
 return(out)
}

size.ci.lc.mean.ws <- function(alpha, var, cor, w, h) {
 # Computes sample size required to estimate a linear contrast of population
 # means with desired precision in a within-subjects design
 # Arguments: 
 #   alpha: alpha level for 1-alpha confidence
 #   var:   planning value of largest DV variance  
 #   cor:  planning value of smallest correlation
 #   w:     desired confidence interval width
 #   h:     vector of contrast coefficients 
 # Values:
 #   required sample size
 z <- qnorm(1 - alpha/2)
 k <- length(h)
 n <- ceiling(4*(1 - cor)*var*(t(h)%*%h)*(z/w)^2 + z^2/2)
 return(n)
}

size.test.lc.mean.ws <- function(alpha, var, pow, es, cor, h) {
 # Computes sample size required to test a linear contrast of 
 # population means with desired power in a within-subjects design 
 # Arguments: 
 #   alpha: alpha level for test
 #   var:   planning value of largest DV variance  
 #   pow:   desired power
 #   es:    planning value of linear contrast of means
 #   cor:   planning value of smallest correlation
 #   h:     vector of contrast coefficients 
 # Values:
 #   required sample size
 za <- qnorm(1 - alpha/2)
 zb <- qnorm(pow)
 n <- ceiling(var*(1 - cor)*(t(h)%*%h)*(za + zb)^2/es^2 + za^2/2)
 return(n)
}	
cwendorf/DGB documentation built on May 3, 2022, 9:34 p.m.