This module produces a ggplot2::ggplot()
type line plot, with optional summary table, for standard ADaM data.
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 = c("n", "mean_sd", "median", "range"),
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
(
string
orNA
)
group variable name.- x
(
string
)
x-variable name.- y
(
string
)
y-variable name.- y_unit
(
string
orNA
)
y-axis unit variable name.- paramcd
(
teal.transform::choices_selected()
)
object with all available choices and preselected option for the parameter code variable fromdataname
.- param
(
character
)
parameter to filter the data by.- conf_level
(
teal.transform::choices_selected()
)
object with all available choices and pre-selected option for the confidence level, each within 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. Setinterval = NULL
if intervals should not be added to the plot.- 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. Names must match names of the list elementinterval
that will be returned bysfun
(e.g.mean_ci_lwr
element ofsfun(x)[["mean_ci"]]
). It is possible to specify one whisker only, or to suppress all whiskers by settinginterval = NULL
.- 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
(
string
)
controls the type of themid
plot, it can be point ("p"
), line ("l"
), or point and line ("pl"
).- mid_point_size
(
numeric(1)
)
font size of themid
plot points.- table_font_size
(
numeric(1)
)
font size of the text in the table.- plot_height
(
numeric
) optional
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
(
numeric
) optional
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
(
shiny.tag
) optional,
with text placed before the output to put the output into context. For example a title.- post_output
(
shiny.tag
) optional,
with text placed after the output to put the output into context. For example theshiny::helpText()
elements are useful.- ggplot2_args
-
(
ggplot2_args
) optional
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")
.
See also
The TLG Catalog where additional example apps implementing this module can be found.
Examples
library(nestcolor)
library(dplyr)
library(forcats)
data <- teal_data()
data <- within(data, {
ADSL <- tmc_ex_adsl
ADLB <- tmc_ex_adlb %>%
mutate(AVISIT == fct_reorder(AVISIT, AVISITN, min))
})
join_keys(data) <- default_cdisc_join_keys[names(data)]
ADSL <- data[["ADSL"]]
ADLB <- data[["ADLB"]]
app <- init(
data = data,
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"
)
)
)
)
#> Initializing tm_g_lineplot
#> Initializing reporter_previewer_module
if (interactive()) {
shinyApp(app$ui, app$server)
}