transfer from old repo
This commit is contained in:
parent
cfa4a5f9cc
commit
277e2b8cf3
1111 changed files with 83736 additions and 0 deletions
740
2 Longterm/260315/combined_script.R
Executable file
740
2 Longterm/260315/combined_script.R
Executable file
|
|
@ -0,0 +1,740 @@
|
|||
# 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)))
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in a new issue