The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
teal
application to use bivariate plot with various
datasets typesThis vignette will guide you through the four parts to create a
teal
application using various types of datasets using the
bivariate plot module tm_g_bivariate()
:
app
variablelibrary(teal.modules.general) # used to create the app
library(dplyr) # used to modify data sets
Inside this app 4 datasets will be used
ADSL
A wide data set with subject dataADRS
A long data set with response data for subjects at
different time points of the studyADTTE
A long data set with time to event dataADLB
A long data set with lab measurements for each
subject<- teal_data()
data <- within(data, {
data <- teal.modules.general::rADSL %>%
ADSL mutate(TRTDUR = round(as.numeric(TRTEDTM - TRTSDTM), 1))
<- teal.modules.general::rADRS
ADRS <- teal.modules.general::rADTTE
ADTTE <- teal.modules.general::rADLB %>%
ADLB mutate(CHGC = as.factor(case_when(
< 1 ~ "N",
CHG > 1 ~ "P",
CHG TRUE ~ "-"
)))
})<- c("ADSL", "ADRS", "ADTTE", "ADLB")
datanames datanames(data) <- datanames
join_keys(data) <- default_cdisc_join_keys[datanames]
app
variableThis is the most important section. We will use the
teal::init()
function to create an app. The data will be
handed over using teal.data::teal_data()
. The app itself
will be constructed by multiple calls of tm_g_bivariate()
using different combinations of data sets.
# configuration for the single wide dataset
<- tm_g_bivariate(
mod1 label = "Single wide dataset",
x = data_extract_spec(
dataname = "ADSL",
select = select_spec(
label = "Select variable:",
choices = variable_choices(data[["ADSL"]]),
selected = "BMRKR1",
fixed = FALSE
)
),y = data_extract_spec(
dataname = "ADSL",
select = select_spec(
label = "Select variable:",
choices = variable_choices(data[["ADSL"]]),
selected = "SEX",
multiple = FALSE,
fixed = FALSE
)
),row_facet = data_extract_spec(
dataname = "ADSL",
select = select_spec(
label = "Select variables:",
choices = variable_choices(data[["ADSL"]]),
selected = NULL,
multiple = FALSE,
fixed = FALSE
)
),col_facet = data_extract_spec(
dataname = "ADSL",
select = select_spec(
label = "Select variables:",
choices = variable_choices(data[["ADSL"]]),
selected = NULL,
multiple = FALSE,
fixed = FALSE
)
)
)
# configuration for the two wide datasets
<- tm_g_bivariate(
mod2 label = "Two wide datasets",
x = data_extract_spec(
dataname = "ADSL",
select = select_spec(
label = "Select variable:",
choices = variable_choices(data[["ADSL"]], c("BMRKR1", "AGE", "SEX", "STRATA1", "RACE")),
selected = c("BMRKR1"),
multiple = FALSE
)
),y = data_extract_spec(
dataname = "ADSL",
select = select_spec(
label = "Select variables:",
choices = variable_choices(data[["ADSL"]], c("COUNTRY", "AGE", "RACE")),
selected = "RACE",
multiple = FALSE
)
),row_facet = data_extract_spec(
dataname = "ADSL",
select = select_spec(
label = "Select variable:",
choices = variable_choices(data[["ADSL"]]),
selected = NULL,
multiple = FALSE,
fixed = FALSE
)
),col_facet = data_extract_spec(
dataname = "ADSL",
select = select_spec(
label = "Select variables:",
choices = variable_choices(data[["ADSL"]]),
selected = NULL,
multiple = FALSE,
fixed = FALSE
)
)
)
# configuration for the multiple different long datasets
<- tm_g_bivariate(
mod3 label = "Multiple different long datasets",
x = data_extract_spec(
dataname = "ADRS",
filter = filter_spec(
label = "Select endpoints:",
vars = c("PARAMCD", "AVISIT"),
choices = value_choices(data[["ADRS"]], c("PARAMCD", "AVISIT"), c("PARAM", "AVISIT")),
selected = "OVRINV - END OF INDUCTION",
multiple = TRUE
),select = select_spec(
choices = variable_choices(data[["ADRS"]], c("AVALC", "AVAL")),
selected = "AVALC",
multiple = FALSE
)
),y = data_extract_spec(
dataname = "ADTTE",
select = select_spec(
label = "Select variable:",
choices = variable_choices(data[["ADTTE"]], c("AVAL", "CNSR")),
selected = "AVAL",
multiple = FALSE,
fixed = FALSE
),filter = filter_spec(
label = "Select endpoint:",
vars = c("PARAMCD"),
choices = value_choices(data[["ADTTE"]], "PARAMCD", "PARAM"),
selected = "OS",
multiple = FALSE
)
),row_facet = data_extract_spec(
dataname = "ADRS",
filter = filter_spec(
label = "Select endpoints:",
vars = c("PARAMCD", "AVISIT"),
choices = value_choices(data[["ADRS"]], c("PARAMCD", "AVISIT"), c("PARAM", "AVISIT")),
selected = "OVRINV - SCREENING",
multiple = TRUE
),select = select_spec(
label = "Select variable:",
choices = variable_choices(data[["ADRS"]], c("SEX", "RACE", "COUNTRY", "ARM", "PARAMCD", "AVISIT")),
selected = "SEX",
multiple = FALSE,
fixed = FALSE
)
),col_facet = data_extract_spec(
dataname = "ADSL",
select = select_spec(
label = "Select variables:",
choices = variable_choices(data[["ADSL"]], c("SEX", "RACE")),
selected = NULL,
multiple = FALSE,
fixed = FALSE
)
),color_settings = TRUE,
color = data_extract_spec(
dataname = "ADSL",
select = select_spec(
choices = variable_choices(data[["ADSL"]], c("SEX", "RACE", "COUNTRY")),
selected = NULL,
multiple = FALSE,
fixed = FALSE,
label = "Select variable:"
)
),fill = data_extract_spec(
dataname = "ADSL",
select = select_spec(
choices = variable_choices(data[["ADSL"]], c("SEX", "RACE", "COUNTRY")),
selected = NULL,
multiple = FALSE,
fixed = FALSE,
label = "Select variable:"
)
),size = data_extract_spec(
dataname = "ADSL",
select = select_spec(
choices = variable_choices(data[["ADSL"]], c("AGE", "BMRKR1")),
selected = NULL,
multiple = FALSE,
fixed = FALSE,
label = "Select variable:"
)
),plot_height = c(600, 200, 2000),
ggtheme = "gray"
)
# configuration for the wide and long datasets
<- tm_g_bivariate(
mod4 label = "Wide and long datasets",
x = data_extract_spec(
dataname = "ADRS",
filter = list(
filter_spec(
vars = "PARAMCD",
choices = value_choices(data[["ADRS"]], "PARAMCD", "PARAM"),
selected = levels(data[["ADRS"]]$PARAMCD)[1],
multiple = FALSE,
label = "Select response:"
),filter_spec(
vars = "AVISIT",
choices = levels(data[["ADRS"]]$AVISIT),
selected = levels(data[["ADRS"]]$AVISIT)[1],
multiple = FALSE,
label = "Select visit:"
)
),select = select_spec(
choices = variable_choices(data[["ADRS"]], c("AVALC", "AVAL")),
selected = "AVALC",
multiple = FALSE,
label = "Select variable:"
)
),y = data_extract_spec(
dataname = "ADSL",
select = select_spec(
choices = variable_choices(data[["ADSL"]], c("BMRKR1", "SEX", "AGE", "RACE", "COUNTRY")),
selected = "BMRKR1",
multiple = FALSE,
label = "Select variable:",
fixed = FALSE
)
),row_facet = data_extract_spec(
dataname = "ADRS",
select = select_spec(
choices = variable_choices(data[["ADRS"]], c("SEX", "RACE", "ARMCD", "PARAMCD")),
selected = "SEX",
multiple = FALSE,
label = "Select variable:"
)
),col_facet = data_extract_spec(
dataname = "ADRS",
select = select_spec(
choices = variable_choices(data[["ADRS"]], c("SEX", "RACE", "ARMCD", "PARAMCD", "AVISIT")),
selected = "ARMCD",
multiple = FALSE,
fixed = FALSE,
label = "Select variable:"
)
)
)
# configuration for the wide and multiple long datasets
<- tm_g_bivariate(
mod5 label = "Wide and multiple long datasets",
x = data_extract_spec(
dataname = "ADRS",
filter = list(
filter_spec(
vars = "PARAMCD",
choices = value_choices(data[["ADRS"]], "PARAMCD", "PARAM"),
selected = levels(data[["ADRS"]]$PARAMCD)[1],
multiple = FALSE,
label = "Select response:"
),filter_spec(
vars = "AVISIT",
choices = levels(data[["ADRS"]]$AVISIT),
selected = levels(data[["ADRS"]]$AVISIT)[1],
multiple = FALSE,
label = "Select visit:"
)
),select = select_spec(
choices = variable_choices(data[["ADRS"]], c("AVALC", "AVAL")),
selected = "AVALC",
multiple = FALSE,
label = "Select variable:"
)
),y = data_extract_spec(
dataname = "ADSL",
select = select_spec(
choices = variable_choices(data[["ADSL"]], c("BMRKR1", "SEX", "AGE", "RACE", "COUNTRY")),
selected = "BMRKR1",
multiple = FALSE,
fixed = FALSE
)
),row_facet = data_extract_spec(
dataname = "ADLB",
filter = list(
filter_spec(
vars = "PARAMCD",
choices = value_choices(data[["ADLB"]], "PARAMCD", "PARAM"),
selected = levels(data[["ADLB"]]$PARAMCD)[1],
multiple = FALSE,
label = "Select measurement:"
),filter_spec(
vars = "AVISIT",
choices = levels(data[["ADLB"]]$AVISIT),
selected = levels(data[["ADLB"]]$AVISIT)[1],
multiple = FALSE,
label = "Select visit:"
)
),select = select_spec(
choices = "ARMCD",
selected = NULL,
multiple = FALSE,
fixed = FALSE,
label = "Select variable:"
)
),col_facet = data_extract_spec(
dataname = "ADSL",
select = select_spec(
choices = variable_choices(data[["ADSL"]], c("SEX", "AGE", "RACE", "COUNTRY")),
selected = NULL,
multiple = FALSE,
fixed = FALSE,
label = "Select variable:"
)
),color_settings = TRUE,
color = data_extract_spec(
dataname = "ADSL",
select = select_spec(
choices = variable_choices(data[["ADSL"]], c("SEX", "RACE", "COUNTRY")),
selected = NULL,
multiple = FALSE,
fixed = FALSE,
label = "Select variable:"
)
),fill = data_extract_spec(
dataname = "ADSL",
select = select_spec(
choices = variable_choices(data[["ADSL"]], c("SEX", "RACE", "COUNTRY")),
selected = NULL,
multiple = FALSE,
fixed = FALSE,
label = "Select variable:"
)
),size = data_extract_spec(
dataname = "ADSL",
select = select_spec(
choices = variable_choices(data[["ADSL"]], c("AGE", "BMRKR1")),
selected = NULL,
multiple = FALSE,
fixed = FALSE,
label = "Select variable:"
)
),plot_height = c(600, 200, 2000),
ggtheme = "gray"
)
# Configuration for the same long datasets (same subset)
<- tm_g_bivariate(
mod6 label = "Same long datasets (same subset)",
x = data_extract_spec(
dataname = "ADRS",
select = select_spec(
choices = variable_choices(data[["ADRS"]], c("AVALC", "AVAL")),
selected = "AVALC",
multiple = FALSE,
fixed = FALSE,
label = "Select variable:"
)
),y = data_extract_spec(
dataname = "ADRS",
select = select_spec(
choices = variable_choices(data[["ADRS"]], c("SEX", "RACE", "COUNTRY", "ARMCD", "BMRKR1", "BMRKR2")),
selected = "BMRKR1",
multiple = FALSE,
fixed = FALSE,
label = "Select variable:"
)
),row_facet = data_extract_spec(
dataname = "ADRS",
select = select_spec(
choices = variable_choices(data[["ADRS"]], c("AVISIT", "PARAMCD")),
selected = "PARAMCD",
multiple = FALSE,
label = "Select variables:"
)
),col_facet = data_extract_spec(
dataname = "ADRS",
select = select_spec(
choices = variable_choices(data[["ADRS"]], c("AVISIT", "PARAMCD")),
selected = "AVISIT",
multiple = FALSE,
label = "Select variables:"
)
)
)
# Configuration for the same datasets (different subsets)
<- tm_g_bivariate(
mod7 label = "Same datasets (different subsets)",
x = data_extract_spec(
dataname = "ADLB",
filter = list(
filter_spec(
vars = "PARAMCD",
choices = value_choices(data[["ADLB"]], "PARAMCD", "PARAM"),
selected = levels(data[["ADLB"]]$PARAMCD)[1],
multiple = FALSE,
label = "Select lab:"
),filter_spec(
vars = "AVISIT",
choices = levels(data[["ADLB"]]$AVISIT),
selected = levels(data[["ADLB"]]$AVISIT)[1],
multiple = FALSE,
label = "Select visit:"
)
),select = select_spec(
choices = "AVAL",
selected = "AVAL",
multiple = FALSE,
fixed = TRUE
)
),y = data_extract_spec(
dataname = "ADLB",
filter = list(
filter_spec(
vars = "PARAMCD",
choices = value_choices(data[["ADLB"]], "PARAMCD", "PARAM"),
selected = levels(data[["ADLB"]]$PARAMCD)[1],
multiple = FALSE,
label = "Select lab:"
),filter_spec(
vars = "AVISIT",
choices = levels(data[["ADLB"]]$AVISIT),
selected = levels(data[["ADLB"]]$AVISIT)[1],
multiple = FALSE,
label = "Select visit:"
)
),select = select_spec(
choices = "AVAL",
selected = "AVAL",
multiple = FALSE,
fixed = TRUE
)
),use_density = FALSE,
row_facet = data_extract_spec(
dataname = "ADLB",
filter = list(
filter_spec(
vars = "PARAMCD",
choices = value_choices(data[["ADLB"]], "PARAMCD", "PARAM"),
selected = levels(data[["ADLB"]]$PARAMCD)[1],
multiple = FALSE,
label = "Select lab:"
),filter_spec(
vars = "AVISIT",
choices = levels(data[["ADLB"]]$AVISIT),
selected = levels(data[["ADLB"]]$AVISIT)[1],
multiple = FALSE,
label = "Select category:"
)
),select = select_spec(
choices = variable_choices(data[["ADLB"]], c("RACE", "SEX", "ARMCD", "ACTARMCD")),
selected = NULL,
multiple = FALSE,
fixed = FALSE,
label = "Select variable:"
)
),col_facet = data_extract_spec(
dataname = "ADLB",
filter = list(
filter_spec(
vars = "PARAMCD",
choices = value_choices(data[["ADLB"]], "PARAMCD", "PARAM"),
selected = levels(data[["ADLB"]]$PARAMCD)[1],
multiple = FALSE,
label = "Select lab:"
),filter_spec(
vars = "AVISIT",
choices = levels(data[["ADLB"]]$AVISIT),
selected = levels(data[["ADLB"]]$AVISIT)[1],
multiple = FALSE,
label = "Select category:"
)
),select = select_spec(
choices = variable_choices(data[["ADLB"]], c("RACE", "SEX", "ARMCD", "ACTARMCD")),
selected = "ARMCD",
multiple = FALSE,
fixed = FALSE,
label = "Select variables:"
)
),color_settings = TRUE,
color = data_extract_spec(
dataname = "ADSL",
select = select_spec(
choices = variable_choices(data[["ADSL"]], c("SEX", "RACE", "COUNTRY")),
selected = NULL,
multiple = FALSE,
fixed = FALSE,
label = "Select variable:"
)
),fill = data_extract_spec(
dataname = "ADSL",
select = select_spec(
choices = variable_choices(data[["ADSL"]], c("SEX", "RACE", "COUNTRY")),
selected = NULL,
multiple = FALSE,
fixed = FALSE,
label = "Select variable:"
)
),size = data_extract_spec(
dataname = "ADSL",
select = select_spec(
choices = variable_choices(data[["ADSL"]], c("AGE", "BMRKR1")),
selected = NULL,
multiple = FALSE,
fixed = FALSE,
label = "Select variable:"
)
),plot_height = c(600, 200, 2000),
ggtheme = "gray"
)
# initialize the app
<- init(
app data = data,
modules = modules(
# tm_g_bivariate ------
modules(
label = "Bivariate plot",
mod1,
mod2,
mod3,
mod4,
mod5,
mod6,
mod7
)
) )
A simple shiny::shinyApp()
call will let you run the
app. Note that app is only displayed when running this code inside an
R
session.
shinyApp(app$ui, app$server, options = list(height = 1024, width = 1024))
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.