## ----include = FALSE---------------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>", eval = FALSE, fig.align = 'center' ) ## ----------------------------------------------------------------------------- # library(TwoTimeScales) ## ----------------------------------------------------------------------------- # dt1ts <- prepare_data(data = reccolon2ts, # s_out = "timesr", # events = "status", # ds = 30) ## ----------------------------------------------------------------------------- # dt1ts_lt <- prepare_data(data = reccolon2ts, # s_in = "entrys", # s_out = "timesr", # events = "status", # ds = 30) # ## ----------------------------------------------------------------------------- # dt1ts_lt2 <- prepare_data(data = reccolon2ts, # s_in = "entrys", # s_out = "timesr", # events = "status", # ds = 90) ## ----------------------------------------------------------------------------- # dt1ts_2 <- prepare_data(data = reccolon2ts, # s_in = "entrys", # s_out = "timesr", # events = "status", # ds = 30, min_s = 0, max_s = 3000) # ## ----------------------------------------------------------------------------- # dt1ts_cov <- prepare_data(data = reccolon2ts, # s_in = "entrys", # s_out = "timesr", # events = "status", # ds = 30, # individual = TRUE, # covs = c("rx", "node4", "sex")) ## ----------------------------------------------------------------------------- # # Model 1 - Default parameters (numerical optimization of aic, default param for # # B-splines) # m1 <- fit1ts(data1ts = dt1ts) # # Model 2 - Single data inputs # m2 <- fit1ts(y = dt1ts$bindata$y, r = dt1ts$bindata$r, bins = dt1ts$bins) ## ----------------------------------------------------------------------------- # # Model 3 - Change specifications of the B-splines (degree, number of segments # # and range) # m3 <- fit1ts(data1ts = dt1ts, # Bbases_spec = list(bdeg = 2, # quadratic B-splines # nseg_s = 20, # 20 segments # min_s = 0, # max_s = 2730)) # # # Model 4 - As m3, but change penalty order # m4 <- fit1ts(data1ts = dt1ts, # Bbases_spec = list(bdeg = 2, # nseg_s = 20, # min_s = 0, # max_s = 2730), # pord = 3) # third-degree penalty # # # Model 5 - As m3, but change optimization method to grid_search # m5 <- fit1ts(data1ts = dt1ts, # Bbases_spec = list(bdeg = 2, # nseg_s = 20, # min_s = 0, # max_s = 2730), # optim_method = "grid_search") # search for optimal smoothing over grid of values # # # Model 6 - As m5, but optimization criterion is "bic" and include grid of # # values for log_10(rho) # m6 <- fit1ts(data1ts = dt1ts, # Bbases_spec = list(bdeg = 2, # nseg_s = 20, # min_s = 0, # max_s = 2730), # optim_method = "grid_search", # optim_criterion = "bic", # use BIC rather than AIC # lrho = seq(-2, 3, by=.2)) # provide grid for log_10(rho) # ## ----------------------------------------------------------------------------- # par(mfrow = c(1,2)) # m6 <- fit1ts(data1ts = dt1ts, # Bbases_spec = list(bdeg = 2, # nseg_s = 20, # min_s = 0, # max_s = 2730), # optim_method = "grid_search", # optim_criterion = "bic", # lrho = seq(-1, 3, by=.2), # par_gridsearch = list( # plot_aic = T, # plot_bic = T, # mark_optimal = T # )) # par(mfrow = c(1,1)) ## ----------------------------------------------------------------------------- # m6.aic <- m6$AIC # m6.bic <- m6$BIC ## ----------------------------------------------------------------------------- # m7 <- fit1ts(data1ts = dt1ts_cov, # Bbases_spec = list(nseg_s = 15, # min_s = 0, # max_s = 2730)) # betas <- m7$optimal_model$beta ## ----------------------------------------------------------------------------- # basehaz <- get_hazard_1d(fitted_model = m7, # plot_grid = c("smin" = 0, "smax" = 2730, "ds" = 10)) # ## ----------------------------------------------------------------------------- # hr <- get_hr(fitted_model = m7) ## ----------------------------------------------------------------------------- # plot(m7) ## ----------------------------------------------------------------------------- # plot(m7, # plot_grid = c("smin" = 0, "smax" = 2730, "ds" = 10), # plot_options= list( # col = "purple", # main = "Baseline hazard", # ylab = "hazard", # xlab = "time since recurrence", # cex_main = 1)) # ## ----------------------------------------------------------------------------- # plot(m7, # plot_grid = c("smin" = 0, "smax" = 2730, "ds" = 10), # plot_options= list( # loghazard = TRUE, # col = "purple", # main = "Baseline hazard", # ylab = "log-hazard", # xlab = "time since recurrence", # cex_main = 1)) # ## ----------------------------------------------------------------------------- # plot(m7, # which_plot = "covariates") # ## ----------------------------------------------------------------------------- # par(mfrow = c(1,2), # font.main = 1) # # Option 1: symmetric CIs with delta method # plot(m7, # which_plot = "covariates", # plot_options = list( # HR = T, # symmetric_CI = T, # ylim = c(0.8, 2.1), # main = "HR with symmetric CIs", # cex_main = 1 # )) # abline(h=1, lty=2, col="grey") # # Option 2: non-symmetric CIs # plot(m7, # which_plot = "covariates", # plot_options = list( # HR = T, # symmetric_CI = F, # ylim = c(0.8, 2.1), # main = "HR with non-symmetric CIs", # cex_main = 1 # )) # abline(h=1, lty=2, col="grey") # par(mfrow = c(1,1)) ## ----------------------------------------------------------------------------- # par(mfrow = c(1,3), # font.main = 1) # plot(m7, # which_plot = "covariates", # plot_options = list( # ylim = c(-0.22, 0.8), # main = "95% CIs", # cex_main = 1 # )) # abline(h=0, lty=2, col="grey") # plot(m7, # which_plot = "covariates", # plot_options = list( # ylim = c(-0.22, 0.8), # confidence = .90, # main = "90% CIs", # cex_main = 1 # )) # abline(h=0, lty=2, col="grey") # plot(m7, # which_plot = "covariates", # plot_options = list( # ylim = c(-0.22, 0.8), # confidence = .99, # main = "99% CIs", # cex_main = 1 # )) # abline(h=0, lty=2, col="grey") # par(mfrow = c(1,1))