teal Module: Simple Bar Chart and Table of Counts per Category
Source:R/tm_g_barchart_simple.R
tm_g_barchart_simple.Rd
This module produces a ggplot2::ggplot()
type bar chart and summary table of counts per category.
Usage
tm_g_barchart_simple(
x = NULL,
fill = NULL,
x_facet = NULL,
y_facet = NULL,
label = "Count Barchart",
plot_options = NULL,
plot_height = c(600L, 200L, 2000L),
plot_width = NULL,
pre_output = NULL,
post_output = NULL,
ggplot2_args = teal.widgets::ggplot2_args()
)
Arguments
- x
(
data_extract_spec
)
variable on the x-axis.- fill
(
data_extract_spec
)
grouping variable to determine bar colors.- x_facet
(
data_extract_spec
)
row-wise faceting groups.- y_facet
(
data_extract_spec
)
column-wise faceting groups.- label
(
character
)
menu item label of the module in the teal app.- plot_options
(
list
)
list of plot options.- 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. 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")
.
Details
Categories can be defined up to four levels deep and are defined through the x
, fill
,
x_facet
, and y_facet
parameters. Any parameters set to NULL
(default) are ignored.
See also
The TLG Catalog where additional example apps implementing this module can be found.
Examples
library(nestcolor)
library(dplyr)
data <- teal_data()
data <- within(data, {
ADSL <- tmc_ex_adsl %>%
mutate(ITTFL = factor("Y") %>%
with_label("Intent-To-Treat Population Flag"))
ADAE <- tmc_ex_adae %>%
filter(!((AETOXGR == 1) & (AESEV == "MILD") & (ARM == "A: Drug X")))
})
join_keys(data) <- default_cdisc_join_keys[names(data)]
ADSL <- data[["ADSL"]]
ADAE <- data[["ADAE"]]
app <- init(
data = data,
modules = modules(
tm_g_barchart_simple(
label = "ADAE Analysis",
x = data_extract_spec(
dataname = "ADSL",
select = select_spec(
choices = variable_choices(
ADSL,
c(
"ARM", "ACTARM", "SEX",
"RACE", "ITTFL", "SAFFL", "STRATA2"
)
),
selected = "ACTARM",
multiple = FALSE
)
),
fill = list(
data_extract_spec(
dataname = "ADSL",
select = select_spec(
choices = variable_choices(
ADSL,
c(
"ARM", "ACTARM", "SEX",
"RACE", "ITTFL", "SAFFL", "STRATA2"
)
),
selected = "SEX",
multiple = FALSE
)
),
data_extract_spec(
dataname = "ADAE",
select = select_spec(
choices = variable_choices(ADAE, c("AETOXGR", "AESEV", "AESER")),
selected = NULL,
multiple = FALSE
)
)
),
x_facet = list(
data_extract_spec(
dataname = "ADAE",
select = select_spec(
choices = variable_choices(ADAE, c("AETOXGR", "AESEV", "AESER")),
selected = "AETOXGR",
multiple = FALSE
)
),
data_extract_spec(
dataname = "ADSL",
select = select_spec(
choices = variable_choices(
ADSL,
c(
"ARM", "ACTARM", "SEX",
"RACE", "ITTFL", "SAFFL", "STRATA2"
)
),
selected = NULL,
multiple = FALSE
)
)
),
y_facet = list(
data_extract_spec(
dataname = "ADAE",
select = select_spec(
choices = variable_choices(ADAE, c("AETOXGR", "AESEV", "AESER")),
selected = "AESEV",
multiple = FALSE
)
),
data_extract_spec(
dataname = "ADSL",
select = select_spec(
choices = variable_choices(
ADSL,
c(
"ARM", "ACTARM", "SEX",
"RACE", "ITTFL", "SAFFL", "STRATA2"
)
),
selected = NULL,
multiple = FALSE
)
)
)
)
)
)
#> Initializing tm_g_barchart_simple
#> Initializing reporter_previewer_module
if (interactive()) {
shinyApp(app$ui, app$server)
}