## ----setup, include=FALSE-----------------------------------------------------
knitr::opts_chunk$set(collapse = TRUE, comment = "#>")

## ----latent-------------------------------------------------------------------
library(rcens)
set.seed(2026)
x <- rcenscomp_rweibull_rate(20, beta = 2.5, alpha = 1.5)
head(x)

## ----interval-----------------------------------------------------------------
interval_dat <- rcenscomp_interval(x, visits = c(0.2, 0.4, 0.8))
head(as.data.frame(interval_dat))
interval_dat$diagnostics[c("n_left", "n_interval", "n_right")]

## ----current------------------------------------------------------------------
inspection <- seq(0.1, 1, length.out = length(x))
current_dat <- rcenscomp_current_status(x, inspection)
head(as.data.frame(current_dat))

## ----hybrid-------------------------------------------------------------------
hybrid_i <- rcenscomp_hybrid_type1(x, T = 0.6, r = 10)
hybrid_ii <- rcenscomp_hybrid_type2(x, T = 0.6, r = 10)
c(Type_I = hybrid_i$design$Tstar, Type_II = hybrid_ii$design$Tstar)
c(Type_I = hybrid_i$design$D, Type_II = hybrid_ii$design$D)

## ----progressive-type2--------------------------------------------------------
set.seed(2027)
R <- rep(1L, 10)
prog_ii <- rcenscomp_progressive_type2(x, R)
prog_ii$design$compact

## ----progressive-hybrid-------------------------------------------------------
set.seed(2028)
prog_hybrid <- rcenscomp_progressive_hybrid(x, R, T = 0.5)
prog_hybrid$diagnostics[c("D", "Rstar", "stopping_time")]

## ----delayed-entry------------------------------------------------------------
entry <- seq(0, 0.3, length.out = length(x))
delayed <- rcenscomp_delayed_entry(x, entry, censor = rep(1.5, length(x)))
head(as.data.frame(delayed))
delayed$diagnostics[c("n_truncated", "n_observed", "n_events")]

## ----informative--------------------------------------------------------------
set.seed(2029)
informative <- rcenscomp_informative_frailty(
  n = 20,
  beta_x = 2.5, alpha_x = 1.5,
  beta_c = 1.3, alpha_c = 1.1,
  gamma_x = c(0.5, -0.3), gamma_c = c(-0.2, 0.4),
  theta = 0.6, rho = 0.8
)
head(as.data.frame(informative))

## ----competing----------------------------------------------------------------
set.seed(2030)
competing <- rcenscomp_competing_risks(
  n = 20,
  beta = c(1.2, 0.8),
  alpha = c(1.4, 1.1),
  censor_time = 1
)
table(as.data.frame(competing)$status)

