# Code from: cont_pase_sens.qmd targets::tar_config_set(store = here::here("_targets")) source(here::here("R/functions.R")) source(here::here("R/glmnet-reg.R")) library(targets) library(tidyverse) tbl_cont_0 <- targets::tar_read("df_all_data_formatted")|> dplyr::filter(!is.na(pase_0),!is.na(pase_4)) |> # pase_cutter(drop.nas = TRUE) |> events_ready(v.groups=c("clin","lifestyle.events","ses", "assess.events","quartiles")) |> dplyr::select(dplyr::all_of(c("pase_0", "age", "reg_female", "nihss_0", "reg_trombolyse", "reg_trombektomi", "rtreat_placebo", "reg_alone", "reg_smoker", "reg_more_alc", "reg_hyperten", "reg_diabetes", "reg_atriefli", "reg_ami", "soc_status_nowork", "fam_indk_hl", "edu_level_hl", "who_4", "mdi_4", "mfi_gen_4", "mrs_4_above1", "time", "status" ))) |> (\(data){ # c("pase_0","pase_4") |> # purrr::map(\(exp){ list("Univariable"=cox_regression(data=data,all.vars = FALSE, use.strata = FALSE, outcome.var = "pase_0"), "Multivariable"=cox_regression(data=data,all.vars = TRUE, use.strata = FALSE, outcome.var = "pase_0")) |> purrr::map(\(.x){ .x |> gtsummary::tbl_regression(exponentiate=TRUE) |> gtsummary::add_nevent()|> fix_labels() }) |> tbl_merged_named() # }) })() |> gtsummary::modify_table_body( ~ filter(.x, variable == "pase_0")) tbl_cont_4 <- targets::tar_read("df_all_data_formatted")|> dplyr::filter(!is.na(pase_0),!is.na(pase_4)) |> # pase_cutter(drop.nas = TRUE) |> events_ready(v.groups=c("clin","lifestyle.events","ses", "assess.events","quartiles")) |> dplyr::select(dplyr::all_of(c("pase_4", "age", "reg_female", "nihss_0", "reg_trombolyse", "reg_trombektomi", "rtreat_placebo", "reg_alone", "reg_smoker", "reg_more_alc", "reg_hyperten", "reg_diabetes", "reg_atriefli", "reg_ami", "soc_status_nowork", "fam_indk_hl", "edu_level_hl", "who_4", "mdi_4", "mfi_gen_4", "mrs_4_above1", "time", "status" ))) |> (\(data){ # c("pase_0","pase_4") |> # purrr::map(\(exp){ list("Univariable"=cox_regression(data=data,all.vars = FALSE, use.strata = FALSE, outcome.var = "pase_4"), "Multivariable"=cox_regression(data=data,all.vars = TRUE, use.strata = FALSE, outcome.var = "pase_4")) |> purrr::map(\(.x){ .x |> gtsummary::tbl_regression(exponentiate=TRUE) |> gtsummary::add_nevent()|> fix_labels() }) |> tbl_merged_named() # }) })() |> gtsummary::modify_table_body( ~ filter(.x, variable == "pase_4")) list("PASE 0"=tbl_cont_0, "PASE 6"=tbl_cont_4) |> tbl_stack_named() # Code from: events_type_sens.qmd targets::tar_config_set(store = here::here("_targets")) source(here::here("R/functions.R")) source(here::here("R/glmnet-reg.R")) library(targets) library(tidyverse) df <- targets::tar_read(df_all_data_formatted) |> dplyr::mutate( status.all=dplyr::if_else( startsWith(as.character(event),"death"),"death","cve",missing = NA_character_)|> factor() )|> get_vars(vars.groups = c("clin","lifestyle.events","ses", "ssri")) |> dplyr::rename(status=status.all, time=time.all) df$status |> summary() tbl <- df |> pase_cutter(drop.nas = TRUE, drop.pase = TRUE) |> (\(.x) { list( "death" = .x |> dplyr::mutate(status = dplyr::if_else(status == "death", 1, 0, 0)), "cve" = .x |> dplyr::mutate(status = dplyr::if_else(status == "cve", 1, 0, 0)) ) })() |> lapply(\(.x) { ls <- list( "Univariate" = .x |> dplyr::select(-rtreat) |> standard_multi_cox_table(all.vars = FALSE) |> gtsummary::add_nevent(), "Multivariate" = .x |> dplyr::select(-rtreat) |> standard_multi_cox_table(all.vars = TRUE) |> gtsummary::add_nevent() ) |> purrr::map(gtsummary::bold_p) |> tbl_merged_named() ls |> gtsummary::modify_table_body( ~ filter(.x, variable == "pase_change")) }) |> gtsummary::tbl_stack(group_header = c("death","cve"))# |> # gtsummary::as_gt() |> # gt::gtsave(here::here("out/trial_strat_sens.docx")) tbl names(tbl) # Code from: mrs_sensitivity.qmd source(here::here("R/functions.R")) ls_mrs0 <- targets::tar_read(df_all_data_formatted) |> dplyr::filter(mrs_0==0)|> dplyr::filter(!is.na(pase_0),!is.na(pase_4)) |> events_ready() |> (\(.x){ list( std=.x, imp=.x |> events_dataset(impute = TRUE) ) })() |> purrr::map(\(.x){ .x |> pase_cutter(drop.pase = TRUE,drop.nas = TRUE) }) # targets::tar_read(df_all_data_formatted) |> # dplyr::filter(mrs_0==0) |> # dplyr::filter(!is.na(pase_0),!is.na(pase_4)) |> events_ready() |> # pase_cutter(drop.pase = TRUE,drop.nas = TRUE) |> # cox_regression(all.vars = TRUE, use.strata = FALSE, outcome.var = "pase_change") |> # tbl_regression_standard() ls <- list( "Univariable"= ls_mrs0$std |> dplyr::select(pase_change,dplyr::everything()) |> splitdf4uvcox(include=c("time","status")) |> purrr::map(\(.x){ .x |> tbl_regression_standard() }) |> gtsummary::tbl_stack(), "Multivariable" = ls_mrs0$std |> cox_regression(all.vars = TRUE, use.strata = FALSE, outcome.var = "pase_change") |> tbl_regression_standard() |> gtsummary::add_glance_source_note(), "Multivariable Imputed"= ls_mrs0$imp |> cox_regression(all.vars = TRUE, use.strata = FALSE, outcome.var = "pase_change") |> tbl_regression_standard() ) |> purrr::map(\(.x){ .x|> gtsummary::modify_table_styling(column = p.value, hide=TRUE) }) |> tbl_merged_named() ls # |> gtsummary::as_gt() |> # gt::gtsave(filename = here::here(glue::glue("out/sens_subset_mrs0_0.docx"))) # ls_mrs0$std |> # cox_regression(all.vars = TRUE, use.strata = FALSE, outcome.var = "pase_change") |> performance::check_model() targets::tar_read(df_all_data_formatted)|> dplyr::filter(!is.na(pase_0),!is.na(pase_4)) |> dplyr::filter(mrs_0==0) |> dplyr::select(pase_0,pase_4) |> summary() # ls_mrs0$std |> gtsummary::tbl_summary(by = pase_change) |> fix_labels() ls_mrs0_change <- targets::tar_read(df_all_data_formatted) |> get_vars(vars.groups =c("clin","lifestyle.events","ses", "assess.events.pre")) |> dplyr::filter(event.include) |> dplyr::select(-tidyselect::all_of("event.include")) |> (\(.x){ list( std=.x, imp=.x |> dplyr::select(-tidyselect::any_of("reg_bmi"))|> fun_impute(ignore = c("pase_0","pase_4"),pase.mod = FALSE) ) })() |> purrr::map(\(.x){ .x |> pase_cutter(drop.pase = TRUE,drop.nas = TRUE) }) # targets::tar_read(df_all_data_formatted) |> # dplyr::filter(mrs_0==0) |> # dplyr::filter(!is.na(pase_0),!is.na(pase_4)) |> events_ready() |> # pase_cutter(drop.pase = TRUE,drop.nas = TRUE) |> # cox_regression(all.vars = TRUE, use.strata = FALSE, outcome.var = "pase_change") |> # tbl_regression_standard() ls_change <- list( "Univariable"= ls_mrs0_change$std |> dplyr::select(pase_change,dplyr::everything()) |> splitdf4uvcox(include=c("time","status")) |> purrr::map(\(.x){ .x |> tbl_regression_standard() }) |> gtsummary::tbl_stack(), "Multivariable" = ls_mrs0_change$std |> cox_regression(all.vars = TRUE, use.strata = FALSE, outcome.var = "pase_change") |> tbl_regression_standard() |> gtsummary::add_glance_source_note(), "Multivariable Imputed"= ls_mrs0_change$imp |> cox_regression(all.vars = TRUE, use.strata = FALSE, outcome.var = "pase_change") |> tbl_regression_standard() ) |> purrr::map(\(.x){ .x|> gtsummary::modify_table_styling(column = p.value, hide=TRUE) }) |> tbl_merged_named() ls_change #| eval: false coll <- list( mrs0_0=ls_mrs0$std|> cox_regression(all.vars = TRUE, use.strata = FALSE, outcome.var = "pase_change"), pase_change_mrs0 = ls_mrs0_change$std|> cox_regression(all.vars = TRUE, use.strata = FALSE, outcome.var = "pase_change"), pase_change=df |> get_vars(vars.groups =c("clin","lifestyle.events","ses", "assess.events")) |> dplyr::filter(event.include) |> dplyr::select(-tidyselect::all_of("event.include")) |> pase_cutter(drop.pase = TRUE,drop.nas = TRUE)|> cox_regression(all.vars = TRUE, use.strata = FALSE, outcome.var = "pase_change"), prestroke_pase=df |> pase_cutter(drop.nas = FALSE) |> get_vars(vars.groups = c("clin", "lifestyle.events", "ses", "assess.pred", "quartiles"), vars.vec = c("inc_time", "time", "status")) |> dplyr::mutate(time = time + inc_time / 365) |> dplyr::select(-dplyr::any_of(c("pase_0", "pase_4", "pase_change", "inc_time", "event.include", "pase_4_quartile")))|> cox_regression(all.vars = TRUE, use.strata = FALSE, outcome.var = "pase_0_quartile")) |> purrr::map(performance::check_collinearity) coll |> purrr::imap(\(.x,.i){ .x |> dplyr::as_tibble() |> gt::gt() |> gt::tab_header(.i)|> gt::gtsave(filename = here::here(glue::glue("out/coll_{.i}.docx"))) }) # Code from: pa_event_plots.qmd targets::tar_config_set(store = here::here("_targets")) source(here::here("R/functions.R")) source(here::here("R/glmnet-reg.R")) library(targets) library(tidyverse) # targets::tar_read(plot_events_survival_smooth) p1 <- targets::tar_read(df_event_data) |> events_dataset(impute = FALSE) |> dplyr::mutate(pase_change = factor(pase_change, levels = c("Persistently high", "Decrease", "Increase", "Persistently low")), pase_change = dplyr::recode(pase_change, "Persistently high"="Consistently above lowest", "Decrease"="Decrease to lowest", "Increase"="Increase from lowest", "Persistently low"="Consistently lowest") ) |> cox_regression() |> plot_survival_smooth(line.w = 1) + ggplot2::labs( fill = "PA level change group", color = "PA level change group", linetype = "PA level change group" ) + ggplot2::scale_x_continuous(limits = c(0, 9.5), breaks = c(0, 3, 6, 9)) ggplot2::ggsave(here::here("out/smooth_surv.png"), p1, dpi = 600, units = "cm", height = 8, width = 15) p1 surv.data <- targets::tar_read(df_event_data) |> events_dataset(impute = FALSE) |> cox_regression(all.vars = FALSE) |> # Minimal model to just give risk table ggsurvfit::survfit2() |> ggsurvfit::tidy_survfit(times = c(0, 3, 6, 9)) risk_event <- c("n.risk", "cum.event") |> purrr::map2(c("Numbers at risk", "Events"), \(.x, .y){ surv.data |> tidyr::pivot_wider(id_cols = strata, names_from = time, values_from = {{ .x }}) |> mask_micro_table(col.sel = -strata) |> # Masking columns tidyr::pivot_longer(cols = -strata) |> setNames(c("strata", "time", .x)) |> dplyr::mutate(dplyr::across(time, ~ as.numeric(.x))) |> dplyr::mutate(strata = factor(strata, levels = rev(c("Persistently high", "Decrease", "Increase", "Persistently low")))) |> ggplot2::ggplot(ggplot2::aes(x = time, y = strata, label = get(.x))) + ggplot2::geom_text() + ggplot2::labs(y = NULL, title = .y) + ggplot2::theme_minimal() + ggsurvfit::theme_risktable_default() }) p2 <- ggsurvfit::ggsurvfit_align_plots(list(p1, risk_event[1]) |> purrr::list_flatten()) |> patchwork::wrap_plots(ncol = 1, heights = c(2, 1), guides = "collect") ggplot2::ggsave(here::here("out/smooth_surv_tables.png"), p2, dpi = 600, units = "cm", height = 9, width = 15) p2 #| include: false targets::tar_read(df_event_data) |> events_dataset(impute = FALSE) |> dplyr::mutate(pase_change = factor(pase_change, levels = c("Persistently high", "Decrease", "Increase", "Persistently low"))) |> cox_regression(all.vars = FALSE) |> # Minimal model to just give risk table ggsurvfit::survfit2() |> ggsurvfit::ggsurvfit() + ggplot2::scale_y_continuous( limits = c(0, 1.02), breaks = seq(0, 1, .25), labels = scales::percent, expand = c(0.01, 0) ) + ggplot2::scale_x_continuous(breaks = c(0, 4, 8.5), expand = c(0.02, 0)) + ggsurvfit::add_risktable() #| include: false targets::tar_read(df_event_data_small) |> events_dataset(impute = FALSE) |> dplyr::mutate(pase_change = factor(pase_change, levels = c("Persistently high", "Decrease", "Increase", "Persistently low"))) |> cox_regression() |> plot_survival_smooth() + ggplot2::labs( fill = "PA change group", color = "PA change group", linetype = "PA change group" ) #| include: false targets::tar_read(df_event_data) |> events_dataset(impute = FALSE) |> dplyr::mutate(pase_change = factor(pase_change, levels = c("Persistently high", "Decrease", "Increase", "Persistently low"))) |> cox_regression() |> plot_survival_smooth() + ggplot2::labs( fill = "PA change group", color = "PA change group", linetype = "PA change group" ) # Code from: pa_events_analyses.qmd targets::tar_config_set(store = here::here("_targets")) source(here::here("R/functions.R")) source(here::here("R/glmnet-reg.R")) library(targets) library(tidyverse) #| include: false list("Univariate"=targets::tar_read(tbl_events_cox_regression_uv), "Multivariate"=targets::tar_read(tbl_events_cox_regression), "Imputed Multivariate"=targets::tar_read(tbl_events_mids_cox_regression)) |> # purrr::map(gtsummary::modify_table_styling,column=p.value,hide=TRUE) |> purrr::map(gtsummary::bold_p) |> tbl_merged_named() #| include: true list("Univariate"=targets::tar_read(tbl_events_cox_regression_uv), "Multivariate"=targets::tar_read(tbl_events_cox_regression), "Imputed Multivariate"=targets::tar_read(tbl_events_mids_cox_regression)) |> purrr::map(gtsummary::modify_table_styling,column=p.value,hide=TRUE) |> tbl_merged_named() #| echo: true targets::tar_read(df_event_data) |> # dplyr::select(-reg_bmi) |> na.omit() |> nrow() #| include: false targets::tar_read(tbl_events_cox_regression_small) targets::tar_read(df_event_data_small) #| include: false targets::tar_read(tbl_events_mids_cox_regression) targets::tar_read("df_all_data_formatted") |> events_ready() |> dplyr::filter(!is.na(pase_0),!is.na(pase_4)) |> (\(data){ c("pase_0","pase_4") |> purrr::map(\(exp){ with(data,survival::coxph(as.formula(glue::glue("survival::Surv(time, status)~{exp}")))) |> gtsummary::tbl_regression(exponentiate=TRUE)|> fix_labels() }) })() |> gtsummary::tbl_stack() targets::tar_read("df_all_data_formatted") |> pase_cutter(drop.nas = TRUE) |> events_ready(v.groups=c("clin","lifestyle.events","ses", "assess.events","quartiles")) |> dplyr::select(-dplyr::any_of(c("pase_0","pase_4","pase_change"))) |> (\(data){ c("pase_0_quartile","pase_4_quartile") |> purrr::map(\(exp){ list("Univariable"=cox_regression(data=data,all.vars = FALSE, use.strata = FALSE, outcome.var = exp), "Multivariable"=cox_regression(data=data,all.vars = TRUE, use.strata = FALSE, outcome.var = exp)) |> purrr::map(\(.x){ .x |> gtsummary::tbl_regression(exponentiate=TRUE)|> fix_labels() }) |> tbl_merged_named() }) })() |> gtsummary::tbl_stack() targets::tar_read("df_all_data_formatted") |> pase_cutter(drop.nas = TRUE) |> get_vars(vars.groups = c("clin","lifestyle.events","ses", "assess.events","quartiles"),vars.vec = c("inc_time")) |> dplyr::mutate(time=time+inc_time/365) |> dplyr::select(-dplyr::any_of(c("pase_0","pase_4","pase_change","inc_time","event.include","pase_4_quartile"))) |> (\(data){ list( with(data,survival::coxph(as.formula(glue::glue("survival::Surv(time, status)~{exp}")))) |> gtsummary::tbl_regression(exponentiate=TRUE)|> fix_labels() |> gtsummary::add_glance_source_note() ) })() |> gtsummary::tbl_stack() # Code from: pa_events_summaries.qmd targets::tar_config_set(store = here::here("_targets")) source(here::here("R/functions.R")) source(here::here("R/glmnet-reg.R")) library(targets) library(tidyverse) #| include: false targets::tar_read(tbl_events_summary) #| include: true targets::tar_read(tbl_events_summary) |> mask_micro_summary(micro.n = 5) #| include: false ls <- targets::tar_read(df_event_data)|> pase_cutter(drop.pase = TRUE) |> dplyr::select(-tidyselect::all_of(c("status", "time"))) |> dplyr::filter(!is.na(pase_change)) |> labelling_data() |> gtsummary::tbl_summary( missing = "ifany", by = pase_change, # value = list(where(is.logical) ~ TRUE), missing_text = "Missing" ) |> gtsummary::add_overall() |> gtsummary::add_n() ls |> add_missing_stats() |> mask_micro_summary(micro.n = 5) targets::tar_read(df_event_data)|> pase_cutter(drop.pase = TRUE) |> dplyr::select(pase_change, time) |> dplyr::filter(!is.na(pase_change)) |> labelling_data() |> gtsummary::tbl_summary( missing = "ifany", by = pase_change, type = gtsummary::all_continuous() ~ "continuous2", statistic = list(gtsummary::all_continuous() ~ c("{median} ({p25}, {p75})","{mean} ({sd})")), # value = list(where(is.logical) ~ TRUE), missing_text = "Missing" ) |> gtsummary::add_overall() #| include: true targets::tar_read(df_all_data_formatted) |> (\(.x)summary(.x$pase_0))() # targets::tar_read(df_all_data_formatted) |> # dplyr::filter(!is.na(pase_0),!is.na(pase_4))|> # (\(.x)summary(.x$pase_0))() #| include: false targets::tar_read(df_all_data_formatted) |> pase_cutter(drop.pase = TRUE) |> dplyr::select(mrs_4, pase_change) |> dplyr::mutate(pase_change = forcats::fct_relevel(pase_change, c("Persistent high", "Increase", "Decrease", "Persistent low"))) |> na.omit() |> (\(.x){ table(mrs = .x$mrs_4, pase = .x$pase_change) })() |> rankinPlot::grottaBar(groupName = "pase", scoreName = "mrs") targets::tar_read(df_event_data)|> pase_cutter(drop.pase = FALSE) |> dplyr::filter(!is.na(pase_change))|> dplyr::select(pase_0,pase_4) |> labelling_data() |> gtsummary::tbl_summary() targets::tar_read(df_all_data_formatted)|> pase_cutter(drop.pase = FALSE) |> dplyr::filter(!is.na(pase_change))|> dplyr::count(pase_0_quartile,pase_4_quartile) |> write_csv(here::here("out/event_sankey_data.csv")) ds <- targets::tar_read(df_all_data_formatted) |> get_vars(vars.groups = c("clin", "lifestyle", "ses", "assess.events", "extra")) |> dplyr::select(-time, -status, -soc_status) |> pase_cutter(drop.pase = TRUE) |> labelling_data() ls <- list( pase_out = ds |> dplyr::mutate(event.filter = factor( dplyr::case_when(is.na(pase_change) ~ "pase_incomplete", !event.include ~ "early_event", .default = "included" ), levels = c("pase_incomplete", "early_event", "included") )), event_out = ds |> dplyr::mutate(event.filter = factor( dplyr::case_when(!event.include ~ "early_event", is.na(pase_change) ~ "pase_incomplete", .default = "included" ), levels = c("early_event", "pase_incomplete", "included") )) ) |> purrr::map(dplyr::select, -event.include, -pase_change, -event) ls_tbl <- ls |> purrr::map(\(.x){ .x |> dplyr::filter(event.filter != "pase_incomplete") |> dplyr::mutate(event.filter = factor(event.filter)) }) |> (\(.x) list(.x, purrr::pluck(ls, 1) |> dplyr::mutate(event.filter = event.filter == "included")))() |> purrr::list_flatten() #| include: false ls_tbl |> purrr::map(\(.x){ .x |> gtsummary::tbl_summary( by = event.filter, missing = "ifany" ) |> gtsummary::add_p() }) |> (\(.x)gtsummary::tbl_merge(.x, c(names(.x)[1:2], "all_out")))() targets::tar_read(df_all_data_formatted) |> get_vars(vars.groups = c("clin", "lifestyle", "ses", "assess.events", "extra", "assess.pred")) |> dplyr::select(-time, # -status, -soc_status) |> pase_cutter(drop.pase = FALSE) |> labelling_data() |> dplyr::mutate(event.filter = factor( dplyr::case_when( !event.include | is.na(pase_change) ~ "excluded", .default = "included" ) )) |> dplyr::select(-who_4, -mdi_4, -mrs_4_above1, -mfi_gen_4) |> gtsummary::tbl_summary( by = event.filter, missing = "ifany" ) |> gtsummary::add_p() ds |> dplyr::mutate(pase_incomplete=is.na(pase_change), excluded=pase_incomplete | !event.include, early_event=!event.include) |> dplyr::select(early_event,pase_incomplete,excluded) |> gtsummary::tbl_summary(by=excluded) #| include: true ls_tbl |> purrr::pluck(3) |> dplyr::select(-who_4, -mdi_4, -mrs_4_above1, -mfi_gen_4) |> (\(.x){ .x |> gtsummary::tbl_summary( by = event.filter, missing = "no" ) |> gtsummary::add_p() })() |> mask_micro_summary(micro.n = 5) #| include: true targets::tar_read(df_event_data)|> pase_cutter(drop.pase = FALSE)|> dplyr::filter(!is.na(pase_change)) |> dplyr::select(-time, -status, -pase_0_quartile, -pase_4_quartile, -pase_change) |> labelling_data() |> dplyr::mutate(reg_female=ifelse(reg_female,"Female","Male")) |> gtsummary::tbl_summary( missing = "ifany", by = reg_female, value = list(where(is.logical) ~ TRUE) )|> gtsummary::add_p() |> mask_micro_summary() #| include: false events <- targets::tar_read(ls_all_events) |> dplyr::bind_rows() |> dplyr::left_join(targets::tar_read(df_all_data_formatted) |> dplyr::select(c("event.include", "rdate", "enddate", "PNR")), by = c("CPR" = "PNR")) |> dplyr::mutate( date.event = as.Date(date.event), event.trial = !date.event > enddate, event.itt = !date.event > (lubridate::dmonths(6) + rdate) ) |> dplyr::mutate(event.type = dplyr::if_else(grepl("^death", event.type), "death", event.type)) ls <- list( # Events during inclusion and during first 6 months after inclusion (Intention to treat) events |> dplyr::select(event.type, event.trial, event.itt) |> tidyr::pivot_longer(cols = c("event.trial", "event.itt")) |> dplyr::filter(value) |> dplyr::select(-value) |> gtsummary::tbl_summary(by = name), # All registred events events |> dplyr::select(event.type) |> gtsummary::tbl_summary(), # All events in the selected group events |> dplyr::select(event.type, event.include) |> # tidyr::pivot_longer(cols = c("event.trial","event.itt")) |> dplyr::filter(event.include) |> dplyr::select(-event.include) |> gtsummary::tbl_summary(), # All considered events (first event) targets::tar_read(df_events_deaths)|> dplyr::mutate(event.type = dplyr::if_else(grepl("^death", event.type), "death", event.type)) |> dplyr::select(event.type) |> gtsummary::tbl_summary(), # All included events (first event) targets::tar_read(df_all_data_formatted)|> pase_cutter(drop.pase = TRUE) |> dplyr::filter(!is.na(pase_change))|> dplyr::filter(event.include) |> # dplyr::select(-event.include)|> dplyr::mutate(event = dplyr::if_else(grepl("^death", event), "death", event)) |> dplyr::select(event) |> dplyr::filter(!is.na(event)) |> gtsummary::tbl_summary() ) |> setNames(c("During trial", "All events", "Selected events", "Considered", "Included")) ls[4] |> purrr::map(\(.x) .x |> mask_micro_summary(micro.n = 5)) |> tbl_merged_named() targets::tar_read(df_all_data_formatted)|> pase_cutter(drop.pase = TRUE) |> dplyr::filter(!is.na(pase_change))|> dplyr::filter(event.include) |> # dplyr::select(-event.include)|> dplyr::mutate(event = dplyr::case_when(grepl("^death", event)~"Mors", grepl("^DI6", event)~ "DI61-4", .default = event)) |> dplyr::select(event) |> dplyr::filter(!is.na(event)) |> gtsummary::tbl_summary() |> mask_micro_summary(micro.n = 5) targets::tar_read(df_event_data) |> pase_cutter(drop.pase = TRUE) |> dplyr::filter(!is.na(pase_change)) |> events_table(by="pase_change") # Code from: sex_events.qmd targets::tar_config_set(store = here::here("_targets")) source(here::here("R/functions.R")) source(here::here("R/glmnet-reg.R")) library(targets) library(tidyverse) df <- targets::tar_read(df_all_data_formatted) |> get_vars(vars.groups = c("clin","lifestyle.events","ses", "ssri")) |> dplyr::rename(status=status.all, time=time.all) df |> pase_cutter(drop.nas = TRUE,drop.pase = TRUE) |> dplyr::mutate(reg_female=factor(ifelse(reg_female,"Female","Male"))) |> (\(.x) { split(.x, .x$reg_female) })() |> lapply(\(.x) { ls <- list("Univariate"=.x |> dplyr::select(-reg_female,-rtreat) |> standard_multi_cox_table(all.vars = FALSE) |> gtsummary::add_nevent(), "Multivariate"=.x |> dplyr::select(-reg_female,-rtreat) |> standard_multi_cox_table(all.vars = TRUE) |> gtsummary::add_nevent())|> purrr::map(gtsummary::bold_p) |> tbl_merged_named() ls |> gtsummary::modify_table_body(~filter(.x, variable == "pase_change")) }) |> (\(.x) { gtsummary::tbl_stack(.x,group_header=names(.x)) })() # Code from: ssri_events.qmd targets::tar_config_set(store = here::here("_targets")) source(here::here("R/functions.R")) source(here::here("R/glmnet-reg.R")) library(targets) library(tidyverse) df <- targets::tar_read(df_all_data_formatted) |> get_vars(vars.groups = c("clin","lifestyle.events","ses", "ssri")) |> dplyr::rename(status=status.all, time=time.all) df |> dplyr::select(#-event.include, -rtreat_placebo)|> labelling_data() |> gtsummary::tbl_summary(by=rtreat) |> gtsummary::add_overall() #|> # mask_micro_summary() df |> dplyr::select( -rtreat_placebo, -pase_4#, # -reg_bmi ) |> cox_regression(outcome.var = "rtreat",use.strata = FALSE) |> gtsummary::tbl_regression(exponentiate = TRUE, add_estimate_to_reference_rows = TRUE, show_single_row = where(is.logical)) |> gtsummary::bold_p() |> fix_labels() df |> dplyr::select(-rtreat_placebo) |> cox_regression(outcome.var = "rtreat",all.vars = FALSE, use.strata = TRUE,include_formula = TRUE) |> plot_survival_smooth() df |> pase_cutter(drop.nas = TRUE,drop.pase = TRUE) |> (\(.x) { split(.x, .x$rtreat) })() |> lapply(\(.x) { ls <- list("Univariate"=.x |> dplyr::select(-rtreat_placebo, -rtreat) |> standard_multi_cox_table(all.vars = FALSE), "Multivariate"=.x |> dplyr::select(-rtreat_placebo, -rtreat) |> standard_multi_cox_table(all.vars = TRUE))|> purrr::map(gtsummary::bold_p) |> tbl_merged_named() ls |> gtsummary::modify_table_body(~filter(.x, variable == "pase_change")) }) |> tbl_stack_named() # gtsummary::tbl_stack(group_header=levels(factor(df$rtreat)))