# Generate example data with high negative skewness
set.seed(10232015)
# Parameters
n_patients <- 10000 # Total number of patients
# Skewed towards higher values
Ps <- plogis(rnorm(n_patients, mean = 2, sd = 1.5))
# Simulate survival outcomes based on Ps
survival_outcomes <- rbinom(n_patients,
size = 1,
prob = Ps
)
# Create data frame
data <- data.frame(Ps = Ps, survival = survival_outcomes) |>
dplyr::mutate(death = dplyr::if_else(survival == 1, 0, 1))
# Example usage of the `rmm` function
rmm(data = data, Ps_col = Ps,
outcome_col = survival,
Divisor1 = 4,
Divisor2 = 4,
n_samples = 10
)
# pivot!
rmm(data = data, Ps_col = Ps,
outcome_col = survival,
Divisor1 = 4,
Divisor2 = 4,
n_samples = 10,
pivot = TRUE
)
# Create example grouping variable (e.g., hospital)
hospital <- sample(c("Hospital A", "Hospital B"), n_patients, replace = TRUE)
# Create data frame
data <- data.frame(
Ps = Ps,
survival = survival_outcomes,
hospital = hospital
) |>
dplyr::mutate(death = dplyr::if_else(survival == 1, 0, 1))
# Example usage of the `rmm` function with grouping by hospital
rmm(
data = data,
Ps_col = Ps,
outcome_col = survival,
group_vars = "hospital",
Divisor1 = 4,
Divisor2 = 4,
n_samples = 10
)
# Pivoted output for easier visualization
rmm(
data = data,
Ps_col = Ps,
outcome_col = survival,
group_vars = "hospital",
Divisor1 = 4,
Divisor2 = 4,
n_samples = 10,
pivot = TRUE
)
Run the code above in your browser using DataLab