gen_time_dep {Colossus}R Documentation

Applies time dependence to parameters

Description

gen_time_dep generates a new dataframe with time dependent covariates by applying a grid in time

Usage

gen_time_dep(
  df,
  time1,
  time2,
  event0,
  iscox,
  dt,
  new_names,
  dep_cols,
  func_form,
  fname,
  tform,
  nthreads = as.numeric(detectCores())
)

Arguments

df

a data.table containing the columns of interest

time1

column used for time period starts

time2

column used for time period end

event0

column used for event status

iscox

boolean if rows not at event times should be kept, rows are removed if true

dt

spacing in time for new rows

new_names

list of new names to use instead of default, default used if entry is ”

dep_cols

columns that are not needed in the new dataframe

func_form

vector of functions to apply to each time-dependent covariate. Of the form func(df, time) returning a vector of the new column value

fname

filename used for new dataframe

tform

list of string function identifiers, used for linear/step

nthreads

number of threads to use, do not use more threads than available on your machine

Value

returns the updated dataframe

See Also

Other Data Cleaning Functions: Check_Dupe_Columns(), Check_Trunc(), Correct_Formula_Order(), Date_Shift(), Def_Control(), Def_Control_Guess(), Def_model_control(), Def_modelform_fix(), Joint_Multiple_Events(), Replace_Missing(), Time_Since(), factorize(), factorize_par(), interact_them()

Examples

library(data.table)
#Adapted from the tests
a <- c(20,20,5,10,15)
b <- c(1,2,1,1,2)
c <- c(0,0,1,1,1)
df <- data.table::data.table("a"=a,"b"=b,"c"=c)
time1 <- "%trunc%"
time2 <- "a"
event <- "c"
control <- list('lr' = 0.75,'maxiter' = -1,'halfmax' = 5,'epsilon' = 1e-9,'dbeta_max' = 0.5,
           'deriv_epsilon' = 1e-9, 'abs_max'=1.0,'change_all'=TRUE,'dose_abs_max'=100.0,
           'verbose'=FALSE, 'ties'='breslow','double_step'=1)
grt_f <- function(df,time_col){
    return ((df[,"b"] * df[,get(time_col)])[[1]])
}
func_form <- c("lin")
df_new <- gen_time_dep(df,time1,time2,event,TRUE,0.01,c("grt"),c(),
       c(grt_f),paste("test","_new.csv",sep=""), func_form,2)
file.remove('test_new.csv')


[Package Colossus version 1.1.1 Index]