Generates a response plot for a given response
and x
variables.
This module allows users customize and add annotations to the plot depending
on the module's arguments.
It supports showing the counts grouped by other variable facets (by row / column),
swapping the coordinates, show count annotations and displaying the response plot
as frequency or density.
Usage
tm_g_response(
label = "Response Plot",
response,
x,
row_facet = NULL,
col_facet = NULL,
coord_flip = FALSE,
count_labels = TRUE,
rotate_xaxis_labels = FALSE,
freq = FALSE,
plot_height = c(600, 400, 5000),
plot_width = NULL,
ggtheme = c("gray", "bw", "linedraw", "light", "dark", "minimal", "classic", "void"),
ggplot2_args = teal.widgets::ggplot2_args(),
pre_output = NULL,
post_output = NULL,
transformators = list(),
decorators = list()
)
Arguments
- label
(
character(1)
) Label shown in the navigation item for the module or module group. Formodules()
defaults to"root"
. SeeDetails
.- response
-
(
data_extract_spec
orlist
of multipledata_extract_spec
) Which variable to use as the response. You can define one fixed column by settingfixed = TRUE
inside theselect_spec
.The
data_extract_spec
must not allow multiple selection in this case. - x
-
(
data_extract_spec
orlist
of multipledata_extract_spec
) Specifies which variable to use on the X-axis of the response plot. Allow the user to select multiple columns from thedata
allowed in teal.The
data_extract_spec
must not allow multiple selection in this case. - row_facet
(
data_extract_spec
orlist
of multipledata_extract_spec
) optional specification of the data variable(s) to use for faceting rows.- col_facet
(
data_extract_spec
orlist
of multipledata_extract_spec
) optional specification of the data variable(s) to use for faceting columns.- coord_flip
(
logical(1)
) Indicates whether to flip coordinates betweenx
andresponse
. The default value isFALSE
and it will show thex
variable on the x-axis and theresponse
variable on the y-axis.- count_labels
(
logical(1)
) Indicates whether to show count labels. Defaults toTRUE
.- rotate_xaxis_labels
(
logical
) optional, whether to rotate plot X axis labels. Does not rotate by default (FALSE
).- freq
(
logical(1)
) Indicates whether to display frequency (TRUE
) or density (FALSE
). Defaults to density (FALSE
).- plot_height
(
numeric
) optional, specifies the plot height as a three-element vector ofvalue
,min
, andmax
intended for use with a slider UI element.- plot_width
(
numeric
) optional, specifies the plot width as a three-element vector ofvalue
,min
, andmax
for a slider encoding the plot width.- ggtheme
(
character
) optional,ggplot2
theme to be used by default. Defaults to"gray"
.- ggplot2_args
-
(
ggplot2_args
) object created byteal.widgets::ggplot2_args()
with settings for the module plot. The argument is merged with options variableteal.ggplot2_args
and default module setup.For more details see the vignette:
vignette("custom-ggplot2-arguments", package = "teal.widgets")
- pre_output
(
shiny.tag
) optional, text or UI element to be displayed before the module's output, providing context or a title. with text placed before the output to put the output into context. For example a title.- post_output
(
shiny.tag
) optional, text or UI element to be displayed after the module's output, adding context or further instructions. Elements likeshiny::helpText()
are useful.- transformators
(
list
ofteal_transform_module
) that will be applied to transform module's data input. To learn more checkvignette("data-transform-as-shiny-module", package = "teal")
.- decorators
-
(
list
ofteal_transform_module
, namedlist
ofteal_transform_module
) optional, decorator for tables or plots included in the module output reported. When a named list ofteal_transform_module
, the decorators are applied to the respective output objects.Otherwise, the decorators are applied to all objects, which is equivalent as using the name
default
.See section "Decorating Module" below for more details.
Note
For more examples, please see the vignette "Using response plot" via
vignette("using-response-plot", package = "teal.modules.general")
.
Decorating Module
This module generates the following objects, which can be modified in place using decorators:
plot
(ggplot2
)
For additional details and examples of decorators, refer to the vignette
vignette("decorate-modules-output", package = "teal")
or the teal::teal_transform_module()
documentation.
Examples
# general data example
data <- teal_data()
data <- within(data, {
require(nestcolor)
mtcars <- mtcars
for (v in c("cyl", "vs", "am", "gear")) {
mtcars[[v]] <- as.factor(mtcars[[v]])
}
})
app <- init(
data = data,
modules = modules(
tm_g_response(
label = "Response Plots",
response = data_extract_spec(
dataname = "mtcars",
select = select_spec(
label = "Select variable:",
choices = variable_choices(data[["mtcars"]], c("cyl", "gear")),
selected = "cyl",
multiple = FALSE,
fixed = FALSE
)
),
x = data_extract_spec(
dataname = "mtcars",
select = select_spec(
label = "Select variable:",
choices = variable_choices(data[["mtcars"]], c("vs", "am")),
selected = "vs",
multiple = FALSE,
fixed = FALSE
)
)
)
)
)
#> Initializing tm_g_response
if (interactive()) {
shinyApp(app$ui, app$server)
}
# CDISC data example
data <- teal_data()
data <- within(data, {
require(nestcolor)
ADSL <- teal.data::rADSL
})
join_keys(data) <- default_cdisc_join_keys[names(data)]
app <- init(
data = data,
modules = modules(
tm_g_response(
label = "Response Plots",
response = data_extract_spec(
dataname = "ADSL",
select = select_spec(
label = "Select variable:",
choices = variable_choices(data[["ADSL"]], c("BMRKR2", "COUNTRY")),
selected = "BMRKR2",
multiple = FALSE,
fixed = FALSE
)
),
x = data_extract_spec(
dataname = "ADSL",
select = select_spec(
label = "Select variable:",
choices = variable_choices(data[["ADSL"]], c("SEX", "RACE")),
selected = "RACE",
multiple = FALSE,
fixed = FALSE
)
)
)
)
)
#> Initializing tm_g_response
if (interactive()) {
shinyApp(app$ui, app$server)
}