Package 'simIC'

Title: Simulate and Analyze Interval and Mixed-Censored Survival Data
Description: Provides tools to simulate and analyze interval-censored survival data, including left-, right-, and uncensored cases, under common parametric distributions such as Weibull, Exponential, Log-Normal, Log-Logistic, Gamma, Gompertz, Normal, Logistic, and EMV. The package supports both direct maximum likelihood estimation and imputation-based approaches, making it suitable for methodological research, benchmarking, and teaching purposes. An interactive web-based companion tool is also available.
Authors: Jayanthi Arasan [aut, cre]
Maintainer: Jayanthi Arasan <[email protected]>
License: MIT + file LICENSE
Version: 0.1.0
Built: 2026-05-28 09:08:54 UTC
Source: https://github.com/jayarasan/simic

Help Index


Imputation-Based MLE for Interval-Censored Data

Description

Estimates distribution parameters using imputed event times.

Usage

mle_imp(
  left,
  right,
  dist = "weibull",
  impute = c("midpoint", "random", "median", "harmonic_median", "geometric_median",
    "random_survival")
)

Arguments

left

Left bounds of censoring intervals

right

Right bounds of censoring intervals

dist

Distribution name (e.g. \"weibull\", \"loglogistic\", \"EMV\")

impute

Imputation method: \"midpoint\", \"random\", etc.

Value

A list containing estimates, standard errors, and log-likelihood


Imputation-Based MLE for Interval-Censored Data

Description

Estimates distribution parameters using imputed event times.

Usage

mle_int(left, right, dist, true_params = list())

Arguments

left

Left bounds of censoring intervals

right

Right bounds of censoring intervals

dist

Distribution name (e.g. \"weibull\", \"loglogistic\", \"EMV\")

impute

Imputation method: \"midpoint\", \"random\", etc.

Value

A list containing estimates, standard errors, and log-likelihood


Simulate Interval-Censored Survival Data

Description

This function simulates interval-censored survival data from various parametric distributions.

Usage

simIC(
  n = 100,
  dist = "weibull",
  shape = 2,
  scale = 1,
  meanlog = 0,
  sdlog = 1,
  location = 0,
  dist_params = list(),
  width = 1,
  visit_start = 0
)

Arguments

n

Number of samples.

dist

The distribution to use. Options: "weibull", "exp", "lognormal", "loglogistic", "normal", "logistic", "EMV", "gamma", "gompertz".

shape

Shape parameter (for Weibull, Log-Logistic, Gamma, Gompertz).

scale

Scale parameter (for Weibull, Log-Logistic, Gamma, Gompertz, Logistic).

meanlog

Mean log (for Log-Normal).

sdlog

Standard deviation of log (for Log-Normal).

location

Location parameter (for Logistic, Normal, EMV).

dist_params

Optional list of distribution-specific parameters (not used currently).

width

Width of censoring intervals.

visit_start

Starting time for visit schedule (default = 0).

Value

A data frame with columns: id, left, right, event, and true_time.

Examples

simIC(n = 15, dist = "weibull", shape = 1.2, scale = 5, width = 4)
simIC(n = 10, dist = "lognormal", meanlog = 3, sdlog = 1, width = 5)