This teal module produces a grid style Line Plot for data with ADaM structure.
Usage
tm_g_lineplot(
label,
dataname,
parentname = ifelse(inherits(strata, "data_extract_spec"),
teal.transform::datanames_input(strata), "ADSL"),
strata = teal.transform::choices_selected(teal.transform::variable_choices(parentname,
c("ARM", "ARMCD", "ACTARMCD")), "ARM"),
x = teal.transform::choices_selected(teal.transform::variable_choices(dataname,
"AVISIT"), "AVISIT", fixed = TRUE),
y = teal.transform::choices_selected(teal.transform::variable_choices(dataname,
c("AVAL", "BASE", "CHG", "PCHG")), "AVAL"),
y_unit = teal.transform::choices_selected(teal.transform::variable_choices(dataname,
"AVALU"), "AVALU", fixed = TRUE),
paramcd = teal.transform::choices_selected(teal.transform::variable_choices(dataname,
"PARAMCD"), "PARAMCD", fixed = TRUE),
param = teal.transform::choices_selected(teal.transform::value_choices(dataname,
"PARAMCD", "PARAM"), "ALT"),
conf_level = teal.transform::choices_selected(c(0.95, 0.9, 0.8), 0.95, keep_order =
TRUE),
interval = "mean_ci",
mid = "mean",
whiskers = c("mean_ci_lwr", "mean_ci_upr"),
table = NULL,
mid_type = "pl",
mid_point_size = c(2, 1, 5),
table_font_size = c(4, 2, 6),
plot_height = c(1000L, 200L, 4000L),
plot_width = NULL,
pre_output = NULL,
post_output = NULL,
ggplot2_args = teal.widgets::ggplot2_args()
)
Arguments
- label
(
character
)
menu item label of the module in the teal app.- dataname
(
character
)
analysis data used in teal module.- parentname
(
character
)
parent analysis data used in teal module, usually this refers toADSL
.- strata
(
character
scalar orNA
) strata variable name.- x
(
character
scalar) x variable name.- y
(
character
scalar) y variable name.- y_unit
(
character
scalar orNA
) y_unit variable name.- paramcd
(
character
scalar orNA
) paramcd variable name.- param
(
character
)
parameter chosen to filter the data by.- conf_level
(
numeric
)
value for the confidence level within the range of (0, 1).- interval
(
character
orNULL
)
names of the statistics that will be plotted as intervals. All the statistics indicated ininterval
variable must be present in the object returned bysfun
, and be of adouble
ornumeric
type vector of length two.- mid
(
character
orNULL
)
names of the statistics that will be plotted as midpoints. All the statistics indicated inmid
variable must be present in the object returned bysfun
, and be of adouble
ornumeric
type vector of length one.- whiskers
(
character
)
names of the interval whiskers that will be plotted. Must match thenames
attribute of theinterval
element in the list returned bysfun
. It is possible to specify one whisker only, lower or upper.- table
(
character
orNULL
)
names of the statistics that will be displayed in the table below the plot. All the statistics indicated intable
variable must be present in the object returned bysfun
.- mid_type
(
character
scalar)
controls the type of themid
plot, it can be point (p
), line (l
), or point and line (pl
).- mid_point_size
(
integer
ordouble
)
controls the font size of the point formid
plot.- table_font_size
(
integer
ordouble
)
controls the font size of values in the table.- plot_height
optional, (
numeric
)
a vector of length three withc(value, min, max)
. Specifies the height of the main plot and renders a slider on the plot to interactively adjust the plot height.- plot_width
optional, (
numeric
)
a vector of length three withc(value, min, max)
. Specifies the width of the main plot and renders a slider on the plot to interactively adjust the plot width.- pre_output
optional, (
shiny.tag
)
with text placed before the output to put the output into context. For example a title.- post_output
optional, (
shiny.tag
)
with text placed after the output to put the output into context. For example theshiny::helpText()
elements are useful.- ggplot2_args
-
optional, (
ggplot2_args
)
object created byteal.widgets::ggplot2_args()
with settings for the module plot. For this module, this argument will only acceptggplot2_args
object withlabs
list of following child elements:title
,subtitle
,caption
,y
,lty
. No other elements would be taken into account. The argument is merged with optionteal.ggplot2_args
and with default module arguments (hard coded in the module body)For more details, see the vignette:
vignette("custom-ggplot2-arguments", package = "teal.widgets")
.
Examples
library(scda)
library(nestcolor)
synthetic_cdisc_data_latest <- synthetic_cdisc_data("latest")
ADSL <- synthetic_cdisc_data_latest$adsl
ADLB <- synthetic_cdisc_data_latest$adlb
ADLB <- dplyr::mutate(ADLB, AVISIT == forcats::fct_reorder(AVISIT, AVISITN, min))
app <- init(
data = cdisc_data(
cdisc_dataset("ADSL", ADSL,
code = "synthetic_cdisc_data_latest <- synthetic_cdisc_data('latest')
ADSL <- synthetic_cdisc_data_latest$adsl"
),
cdisc_dataset("ADLB", ADLB,
code = "synthetic_cdisc_data_latest <- synthetic_cdisc_data('latest')
ADLB <- synthetic_cdisc_data_latest$adlb
ADLB <- dplyr::mutate(ADLB, AVISIT == forcats::fct_reorder(AVISIT, AVISITN, min))"
)
),
modules = modules(
tm_g_lineplot(
label = "Line Plot",
dataname = "ADLB",
strata = choices_selected(
variable_choices(ADSL, c("ARM", "ARMCD", "ACTARMCD")),
"ARM"
),
y = choices_selected(
variable_choices(ADLB, c("AVAL", "BASE", "CHG", "PCHG")),
"AVAL"
),
param = choices_selected(
value_choices(ADLB, "PARAMCD", "PARAM"),
"ALT"
)
)
)
)
#> [INFO] 2022-10-14 09:10:03.7760 pid:3139 token:[] teal.modules.clinical Initializing tm_g_lineplot
if (FALSE) {
shinyApp(ui = app$ui, server = app$server)
}