Nothing
## ---- include = FALSE---------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
## ----setup, include=FALSE-----------------------------------------------------
library(dplyr)
library(tidyr)
library(magrittr)
library(Tplyr)
library(knitr)
## ----data prep, echo=FALSE----------------------------------------------------
t <- tplyr_table(tplyr_adas, TRTP, where=EFFFL == "Y" & ITTFL == "Y" & PARAMCD == "ACTOT" & ANL01FL == "Y") %>%
set_pop_data(tplyr_adsl) %>%
set_pop_treat_var(TRT01P) %>%
set_pop_where(EFFFL == "Y" & ITTFL == "Y") %>%
set_distinct_by(USUBJID) %>%
set_desc_layer_formats(
'n' = f_str('xx', n),
'Mean (SD)' = f_str('xx.x (xx.xx)', mean, sd),
'Median (Range)' = f_str('xx.x (xxx;xx)', median, min, max)
) %>%
add_layer(
group_desc(AVAL, where= AVISITN == 0, by = "Baseline")
) %>%
add_layer(
group_desc(AVAL, where= AVISITN == 24, by = "Week 24")
) %>%
add_layer(
group_desc(CHG, where= AVISITN == 24, by = "Change from Baseline")
)
sum_data <- t %>%
build(metadata=TRUE) %>%
apply_row_masks(row_breaks = TRUE) %>%
select(row_id, starts_with('row_label'),
var1_Placebo, `var1_Xanomeline Low Dose`, `var1_Xanomeline High Dose`)
# I don't need the full model code for this example so just mock it up.
# But if you want to see it, it's available here:
# https://github.com/RConsortium/submissions-pilot1/blob/694a207aca7e419513ffe16f6f5873526da1bdcb/R/eff_models.R#L17
model_portion <- tibble::tribble(
~"row_id", ~"row_label1", ~"var1_Xanomeline Low Dose", ~"var1_Xanomeline High Dose",
"x4_1", "p-value(Dose Response) [1][2]", "", "0.245",
"x4_2", "", "", "",
"x4_3", "p-value(Xan - Placebo) [1][3]", "0.569", "0.233",
"x4_4", " Diff of LS Means (SE)", "-0.5 (0.82)", "-1.0 (0.84)",
"x4_5", " 95% CI", "(-2.1;1.1)", "(-2.7;0.7)",
"x4_6", "", "", "",
"x4_7", "p-value(Xan High - Xan Low) [1][3]", "", "0.520",
"x4_8", " Diff of LS Means (SE)", "", "-0.5 (0.84)",
"x4_9", " 95% CI", "", "(-2.2;1.1)"
)
full_data <- bind_rows(sum_data, model_portion) %>%
mutate(
across(where(is.character), ~ replace_na(., ""))
)
## ----view data----------------------------------------------------------------
kable(full_data)
## ----tplyr_meta---------------------------------------------------------------
m <- tplyr_meta(
names = quos(a, b, c),
filters = quos(a==1, b==2, c==3)
)
m
## ----extending tplyr_meta-----------------------------------------------------
m <- m %>%
add_variables(quos(x)) %>%
add_filters(quos(x == 'a'))
m
## ----build efficacy metadata--------------------------------------------------
# Overall model subset of data
meta <- tplyr_meta(
names = quos(TRTP, EFFFL, ITTFL, ANL01FL, SITEGR1, AVISIT, AVISITN, PARAMCD, AVAL, BASE, CHG),
filters = quos(EFFFL == "Y", ITTFL == "Y", PARAMCD == "ACTOT", ANL01FL == "Y", AVISITN == 24)
)
# Xan High / Placebo contrast
meta_xhp <- meta %>%
add_filters(quos(TRTP %in% c("Xanomeline High Dose", "Placebo")))
# Xan Low / Placbo Contrast
meta_xlp <- meta %>%
add_filters(quos(TRTP %in% c("Xanomeline Low Dose", "Placebo")))
# Xan High / Xan Low Contrast
meta_xlh <- meta %>%
add_filters(quos(TRTP %in% c("Xanomeline High Dose", "Xanomeline Low Dose")))
eff_meta <- tibble::tribble(
~"row_id", ~"row_label1", ~"var1_Xanomeline Low Dose", ~"var1_Xanomeline High Dose",
"x4_1", "p-value(Dose Response) [1][2]", NULL, meta,
"x4_3", "p-value(Xan - Placebo) [1][3]", meta_xlp, meta_xhp,
"x4_4", " Diff of LS Means (SE)", meta_xlp, meta_xhp,
"x4_5", " 95% CI", meta_xlp, meta_xhp,
"x4_7", "p-value(Xan High - Xan Low) [1][3]", NULL, meta_xlh,
"x4_8", " Diff of LS Means (SE)", NULL, meta_xlh,
"x4_9", " 95% CI", NULL, meta_xlh
)
## ----anti_join1---------------------------------------------------------------
meta %>%
add_anti_join(
join_meta = tplyr_meta(
names = quos(TRT01P, EFFFL, ITTFL, SITEGR1),
filters = quos(EFFFL == "Y", ITTFL == "Y")
),
on = quos(USUBJID)
)
## ----extending metadata-------------------------------------------------------
t <- append_metadata(t, eff_meta)
## ----get_metadata-------------------------------------------------------------
get_metadata(t)
## ----query custom metadata----------------------------------------------------
get_meta_subset(t, 'x4_1', "var1_Xanomeline High Dose") %>%
head() %>%
kable()
## ----metadata without Tplyr---------------------------------------------------
get_meta_subset(eff_meta, 'x4_1', "var1_Xanomeline High Dose", target=tplyr_adas) %>%
head() %>%
kable()
## ---- out.width=850, out.extra='style="border: 1px solid #464646;" allowfullscreen="" allow="autoplay"', echo=FALSE----
knitr::include_app("https://michael-stackhouse.shinyapps.io/Tplyr-efficacy-shiny-demo", height = "900px")
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.