R/info_matrix.R

Defines functions info_matrix

Documented in info_matrix

info_matrix <- function(params, data) {
  phi <- params[1]; lam2 <- params[2]; theta1 <- params[3]; theta2 <- params[4]
  z1 <- data[1]; z2 <- data[2]; m01 <- data[3]; m02 <- data[4]
  y01 <- data[5]; y02 <- data[6]; N0 <- data[7]; N <- data[8]
  matrix(
    c(
      # (1,1)
      N0 * lam2 / phi +
        ((1 - theta1)^2 * N * lam2) / (theta2 + (1 - theta1) * phi) +
        (theta1^2 * N * lam2) / (1 - theta2 + theta1 * phi),
      # (2,1)
      N + N0,
      # (3,1)
      -(1 - theta1) * phi * N * lam2 / (theta2 + (1 - theta1) * phi) +
        theta1 * N * phi * lam2 / (1 - theta2 + theta1 * phi),
      # (4,1)
      (1 - theta1) * N * lam2 / (theta2 + (1 - theta1) * phi) -
        theta1 * N * lam2 / (1 - theta2 + theta1 * phi),
      # (1,2)
      N + N0,
      # (2,2)
      (N0 + N) * (phi + 1) / lam2,
      # (3,2)
      0,
      # (4,2)
      0,
      # (1,3)
      -(1 - theta1) * phi * N * lam2 / (theta2 + (1 - theta1) * phi) +
        theta1 * N * phi * lam2 / (1 - theta2 + theta1 * phi),
      # (2,3)
      0,
      # (3,3)
      (N0 * phi * lam2 - m01 * theta1) / (1 - theta1)^2 +
        m01 / theta1 +
        phi^2 * N * lam2 / (theta2 + (1 - theta1) * phi) +
        phi^2 * N * lam2 / (1 - theta2 + theta1 * phi),
      # (4,3)
      - phi * N * lam2 / (theta2 + (1 - theta1) * phi) -
        phi * N * lam2 / (1 - theta2 + theta1 * phi),
      # (1,4)
      (1 - theta1) * N * lam2 / (theta2 + (1 - theta1) * phi) -
        theta1 * N * lam2 / (1 - theta2 + theta1 * phi),
      # (2,4)
      0,
      # (3,4)
      - phi * N * lam2 / (theta2 + (1 - theta1) * phi) -
        phi * N * lam2 / (1 - theta2 + theta1 * phi),
      # (4,4)
      (N0 * lam2 + m02 * theta2) / (1 - theta2)^2 +
        m02 / theta2 +
        N * lam2 / (theta2 + (1 - theta1) * phi) +
        N * lam2 / (1 - theta2 + theta1 * phi)
    ), nrow = 4, ncol = 4
  )
}
BriceonWiley/comparingCIs.R documentation built on Aug. 17, 2020, 4:42 a.m.