## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.width = 7,
  fig.height = 4
)

## ----setup--------------------------------------------------------------------
library(clusteredMSM)

# 1=Healthy, 2=Ill, 3=Dead. Allowed: 1->2, 1->3, 2->3.
tmat <- trans_mat(
  list(c(2, 3), 3, integer(0)),
  names = c("Healthy", "Ill", "Dead")
)
tmat

## ----data---------------------------------------------------------------------
mydata <- data.frame(
  pid     = c(1, 1, 2, 3, 4, 4),
  site    = c(1, 1, 1, 2, 2, 2),
  treatment = c("A", "A", "A", "B", "B", "B"),
  t0      = c(0.0, 1.5, 0.0, 0.0, 0.0, 1.0),
  t1      = c(1.5, 3.0, 2.0, 1.0, 1.0, 2.5),
  s0      = c(1,   2,   1,   1,   1,   2),
  s1      = c(2,   3,   1,   3,   2,   3)
)
mydata

## ----estimate, eval = FALSE---------------------------------------------------
# fit <- patp(
#   msm(t0, t1, s0, s1) ~ 1,
#   data    = mydata,
#   tmat    = tmat,
#   id      = "pid",
#   cluster = "site",
#   h = 1, j = 2, s = 0,
#   B = 1000, cband = TRUE,
#   seed = 1
# )
# fit

## ----test, eval = FALSE-------------------------------------------------------
# tt <- patp(
#   msm(t0, t1, s0, s1) ~ treatment,
#   data    = mydata,
#   tmat    = tmat,
#   id      = "pid",
#   cluster = "site",
#   h = 1, j = 2, s = 0,
#   B = 1000,
#   seed = 1
# )
# tt

## ----recovery, eval = FALSE---------------------------------------------------
# tmat_rec <- trans_mat(
#   list(c(2, 3), c(1, 3), integer(0)),
#   names = c("Healthy", "Ill", "Dead")
# )
# 
# # Subject who went Healthy -> Ill -> Healthy -> censored:
# recovery_data <- data.frame(
#   pid = c(1, 1, 1),
#   t0  = c(0.0, 1.0, 2.0),
#   t1  = c(1.0, 2.0, 3.5),
#   s0  = c(1,   2,   1),
#   s1  = c(2,   1,   1)    # last row: censored healthy
# )
# 
# patp(msm(t0, t1, s0, s1) ~ 1,
#      data = recovery_data, tmat = tmat_rec,
#      id = "pid",
#      h = 1, j = 2, s = 0,
#      B = 500, seed = 1)

## ----lmaj, eval = FALSE-------------------------------------------------------
# patp(msm(t0, t1, s0, s1) ~ 1,
#      data = mydata, tmat = tmat,
#      id = "pid", cluster = "site",
#      h = 1, j = 2, s = 1.0,
#      LMAJ = TRUE, B = 1000, seed = 1)

## ----weighted, eval = FALSE---------------------------------------------------
# patp(msm(t0, t1, s0, s1) ~ 1,
#      data = mydata, tmat = tmat,
#      id = "pid", cluster = "site",
#      h = 1, j = 2, s = 0,
#      weighted = TRUE, B = 1000, seed = 1)

