R/variance_linked.R

Defines functions variance_linked

Documented in variance_linked

#' Linked stayer variance for change in means
#'
#' @keywords internal
variance_linked <- function(N0, N1, nS,
                            V0_ind, V1_ind,
                            C01_ind) {
  if (nS <= 1L || is.na(C01_ind)) {
    stop("Linked method requires at least two stayers with linked outcomes.")
  }
  
  V0_bar <- V0_ind / N0
  V1_bar <- V1_ind / N1
  C01_bar <- nS * C01_ind / (N0 * N1)
  
  var_Delta <- V0_bar + V1_bar - 2 * C01_bar
  if (var_Delta < 0) {
    warning("Computed variance under the linked method is negative; setting to NA.")
    var_Delta <- NA_real_
  }
  
  list(
    V0_bar = V0_bar,
    V1_bar = V1_bar,
    C01_ind = C01_ind,
    C01_bar = C01_bar,
    var_Delta = var_Delta
  )
}

Try the wavecov package in your browser

Any scripts or data that you put into this service are public.

wavecov documentation built on Nov. 3, 2026, 5:07 p.m.