simple_restriction function

Simple Restriction

Simple Restriction

This function assists the implementation of a restriction on a covariate in the data table newdf by setting lines where the covariate is restricted to a user-specified value.

simple_restriction(newdf, pool, restriction, time_name, t, ...)

Arguments

  • newdf: Data table containing the simulated data at time tt.
  • pool: Data table containing the simulated data at times before tt.
  • restriction: List of vectors. Each vector contains as its first entry the covariate affected by the restriction; its second entry the condition that must be TRUE for the covariate to be modeled; its third entry a function that executes other specific actions based on the condition (in this case, this function); and its fourth entry some value used by the function (in this case, the value the user desires to assign to the covariate when it is not modeled).
  • time_name: Character string specifying the name of the time variable in pool and newdf.
  • t: Integer specifying the current time index.
  • ...: This argument is not used in this function.

Returns

No value is returned. The data table newdf is modified in place.

Examples

## Estimating the effect of static treatment strategies on risk of a ## failure event with a simple restriction id <- 'id' time_points <- 7 time_name <- 't0' covnames <- c('L1', 'L2', 'A') outcome_name <- 'Y' outcome_type <- 'survival' covtypes <- c('binary', 'bounded normal', 'binary') histories <- c(lagged, lagavg) histvars <- list(c('A', 'L1', 'L2'), c('L1', 'L2')) covparams <- list(covmodels = c(L1 ~ lag1_A + lag_cumavg1_L1 + lag_cumavg1_L2 + L3 + t0, L2 ~ lag1_A + L1 + lag_cumavg1_L1 + lag_cumavg1_L2 + L3 + t0, A ~ lag1_A + L1 + L2 + lag_cumavg1_L1 + lag_cumavg1_L2 + L3 + t0)) ymodel <- Y ~ A + L1 + L2 + L3 + lag1_A + lag1_L1 + lag1_L2 + t0 intervention1.A <- list(static, rep(0, time_points)) intervention2.A <- list(static, rep(1, time_points)) int_descript <- c('Never treat', 'Always treat') nsimul <- 10000 # At t0 == 5, assume we have deterministic knowledge that L1 equals 0 restrictions <- list(c('L1', 't0 != 5', simple_restriction, 0)) gform_basic <- gformula(obs_data = basicdata_nocomp, id = id, time_points = time_points, time_name = time_name, covnames = covnames, outcome_name = outcome_name, outcome_type = outcome_type, covtypes = covtypes, covparams = covparams, ymodel = ymodel, intervention1.A = intervention1.A, intervention2.A = intervention2.A, restrictions = restrictions, int_descript = int_descript, histories = histories, histvars = histvars, basecovs = c('L3'), nsimul = nsimul, seed = 1234) gform_basic