## ----setup, include=FALSE----------------------------------------------------- knitr::opts_chunk$set(echo = TRUE) ## ----load-data, eval=F-------------------------------------------------------- # ## Load the example data # Func_Cox_Data <- readRDS("data/example_data_Cox.rds") # # ## Prepare the functional predictor and censoring indicator # Func_Cox_Data$wmat <- Func_Cox_Data$MIMS # Func_Cox_Data$cens <- 1 - Func_Cox_Data$event ## ----fit-model, eval=F-------------------------------------------------------- # library(refundBayes) # # refundBayes_FCox <- refundBayes::fcox_bayes( # survtime ~ X1 + s(tmat, by = lmat * wmat, bs = "cc", k = 10), # data = Func_Cox_Data, # cens = Func_Cox_Data$cens, # runStan = TRUE, # niter = 1500, # nwarmup = 500, # nchain = 3, # ncores = 3 # ) ## ----plot-model, eval=F------------------------------------------------------- # library(ggplot2) # plot(refundBayes_FCox) ## ----posterior-summary, eval=F------------------------------------------------ # ## Posterior mean of the functional coefficient # mean_curve <- apply(refundBayes_FCox$func_coef[[1]], 2, mean) # # ## Pointwise 95% credible interval # upper_curve <- apply(refundBayes_FCox$func_coef[[1]], 2, # function(x) quantile(x, prob = 0.975)) # lower_curve <- apply(refundBayes_FCox$func_coef[[1]], 2, # function(x) quantile(x, prob = 0.025)) ## ----freq-comparison, eval=F-------------------------------------------------- # library(mgcv) # # ## Fit frequentist functional Cox model using mgcv # fit_freq <- gam( # survtime ~ s(tmat, by = lmat * wmat, bs = "cc", k = 10) + X1, # data = Func_Cox_Data, # family = cox.ph(), # weights = Func_Cox_Data$event # ) # # ## Extract frequentist estimates # freq_result <- plot(fit_freq) ## ----inspect-code, eval=F----------------------------------------------------- # ## Generate Stan code without running the sampler # fcox_code <- refundBayes::fcox_bayes( # survtime ~ X1 + s(tmat, by = lmat * wmat, bs = "cc", k = 10), # data = Func_Cox_Data, # cens = Func_Cox_Data$cens, # runStan = FALSE # ) # # ## Print the generated Stan code # cat(fcox_code$stancode)