## ----setup, include = FALSE, warning = FALSE---------------------------------- library(pacheck) data(df_pa) ## ----warning = FALSE---------------------------------------------------------- lm_fit <- fit_lm_metamodel(df = df_pa, x_vars = c("rr", "u_pfs", "u_pd", "c_pfs", "c_pd", "c_thx", "p_pfspd", "p_pfsd", "p_pdd"), y_var = "inc_qaly", seed_num = 24, show_intercept = TRUE) lm_fit$fit ## ----warning = FALSE---------------------------------------------------------- lm_fit <- fit_lm_metamodel(df = df_pa, x_vars = c("rr", "u_pfs", "u_pd", "c_pfs", "c_pd", "c_thx", "p_pfspd", "p_pfsd", "p_pdd"), y_var = "inc_qaly", seed_num = 24, standardise = TRUE ) lm_fit$fit ## ----warning = FALSE---------------------------------------------------------- lm_fit <- fit_lm_metamodel(df = df_pa, x_vars = c("p_pfspd", "p_pdd"), x_poly_2 = "rr", x_poly_3 = c("c_pfs","c_pd"), x_exp = c("u_pfs","u_pd"), x_log = "p_pfsd", y_var = "inc_qaly", seed_num = 24 ) lm_fit$fit ## ----warning = FALSE---------------------------------------------------------- lm_fit <- fit_lm_metamodel(df = df_pa, x_vars = c("p_pfspd", "p_pdd"), x_poly_2 = "rr", x_poly_3 = c("c_pfs","c_pd"), x_exp = c("u_pfs","u_pd"), x_log = "p_pfsd", x_inter = c("p_pfspd","p_pdd"), y_var = "inc_qaly", seed_num = 24 ) lm_fit$fit ## ----warning = FALSE---------------------------------------------------------- rf_fit <- fit_rf_metamodel(df = df_pa, x_vars = c("rr", "u_pfs", "u_pd"), #"c_pfs", #"c_pd", #"c_thx", #"p_pfspd", #"p_pfsd", #"p_pdd"), y_var = "inc_qaly", seed_num = 24) ## ----warning = FALSE---------------------------------------------------------- rf_fit <- fit_rf_metamodel(df = df_pa, x_vars = c("rr", "u_pfs", "u_pd"), #"c_pfs", #"c_pd", #"c_thx", #"p_pfspd", #"p_pfsd", #"p_pdd"), y_var = "inc_qaly", var_importance = TRUE, seed_num = 24) ## ----warning = FALSE---------------------------------------------------------- rf_fit <- fit_rf_metamodel(df = df_pa, x_vars = c("rr", "u_pfs", "u_pd"), #"c_pfs", #"c_pd", #"c_thx", #"p_pfspd", #"p_pfsd", #"p_pdd"), y_var = "inc_qaly", var_importance = FALSE, tune = TRUE, seed_num = 24) rf_fit$tune_fit$optimal rf_fit$tune_plot ## ----warning = FALSE---------------------------------------------------------- rf_fit <- fit_rf_metamodel(df = df_pa, x_vars = c("rr", "u_pfs", "u_pd"), #"c_pfs", #"c_pd", #"c_thx", #"p_pfspd", #"p_pfsd", #"p_pdd"), y_var = "inc_qaly", var_importance = FALSE, tune = TRUE, pm_plot = "both", pm_vars = c("rr","u_pfs"), seed_num = 24) ## ----warning = FALSE---------------------------------------------------------- lasso_fit <- fit_lasso_metamodel(df = df_pa, x_vars = c("rr", "u_pfs", "u_pd", "c_pfs", "c_pd", "c_thx", "p_pfspd", "p_pfsd", "p_pdd"), y_var = "inc_qaly", tune_plot = TRUE, seed_num = 24) lm_fit$fit ## ----warning = FALSE---------------------------------------------------------- lm_validation = validate_metamodel(lm_fit, method = "train_test_split", partition = 0.8, show_intercept = TRUE, seed_num = 24) lm_validation$stats_validation lm_validation$calibration_plot ## ----warning = FALSE---------------------------------------------------------- rf_validation = validate_metamodel(rf_fit, method = "cross_validation", folds = 2, seed_num = 24) rf_validation$stats_validation ## ----warning = FALSE---------------------------------------------------------- indices = sample(8000) df_original = df_pa[indices,] df_new = df_pa[-indices,] lasso_fit2 <- fit_lasso_metamodel(df = df_original, x_vars = c("rr", "u_pfs", "u_pd", "c_pfs", "c_pd", "c_thx", "p_pfspd", "p_pfsd", "p_pdd"), y_var = "inc_qaly", tune_plot = FALSE, seed_num = 24) lasso_validation <- validate_metamodel(lasso_fit2, method = "new_test_set", df_validate = df_new, seed_num = 24) rf_validation$stats_validation ## ----echo=FALSE--------------------------------------------------------------- library(knitr) p_pfspd = c(0.1,0.2) p_pfsd = c(0.08,0.15) p_pdd = c(0.06,0.25) rr = c(0.1,0.23) newdata = data.frame(p_pfspd,p_pfsd,p_pdd,rr) kable(newdata, caption="Example inputs for metamodels") ## ----warning=FALSE------------------------------------------------------------ #fit the models lm_fit2 = fit_lm_metamodel(df = df_pa, x_vars = c("p_pfspd", "p_pfsd", "p_pdd", "rr"), y_var = "inc_qaly", seed_num = 24) rf_fit2 = fit_rf_metamodel(df = df_pa, x_vars = c("p_pfspd", "p_pfsd", "p_pdd", "rr"), y_var = "inc_qaly", tune = TRUE, seed_num = 24 ) lasso_fit3 <- fit_lasso_metamodel(df = df_pa, x_vars = c("p_pfspd", "p_pfsd", "p_pdd", "rr"), y_var = "inc_qaly", tune_plot = FALSE, seed_num = 24) #define the inputs ins_vec = c(0.1,0.2,0.08,0.15,0.06,0.25,0.1,0.23) #vector ins_df = newdata #dataframe (defined above) ## ----warning=FALSE------------------------------------------------------------ predictions = predict_metamodel(lm_fit2, inputs = ins_vec, output_type = "vector") print(predictions) ## ----warning=FALSE------------------------------------------------------------ predictions = predict_metamodel(lasso_fit3, inputs = ins_df, output_type = "vector") print(predictions) ## ----warning=FALSE------------------------------------------------------------ predictions = predict_metamodel(rf_fit2, inputs = ins_vec, output_type = "vector") print(predictions) ## ----warning=FALSE------------------------------------------------------------ predictions = predict_metamodel(lm_fit2, inputs = ins_vec, output_type = "dataframe") print(predictions)