With render_gt()
we can create a reactive gt table that works
wonderfully once assigned to an output slot (with gt_output()
). This
function is to be used within Shiny's server()
component. We have some
options for controlling the size of the container holding the gt table.
The width
and height
arguments allow for sizing the container, and the
align
argument allows us to align the table within the container (some
other fine-grained options for positioning are available in the
tab_options()
function).
render_gt( expr, width = NULL, height = NULL, align = NULL, env = parent.frame(), quoted = FALSE, outputArgs = list() )
expr | An expression that creates a gt table object. For sake of
convenience, a data frame or tibble can be used here (it will be
automatically introduced to |
---|---|
width, height | The width and height of the table's container. Either can
be specified as a single-length character with units of pixels or as a
percentage. If provided as a single-length numeric vector, it is assumed
that the value is given in units of pixels. The |
align | The alignment of the table in its container. By default, this is
|
env | The environment in which to evaluate the |
quoted | Is |
outputArgs | A list of arguments to be passed through to the implicit
call to |
We need to ensure that we have the shiny package installed first. This
is easily by using install.packages("shiny")
. More information on creating
Shiny apps can be found at the Shiny Site.
12-1
Other Shiny functions:
gt_output()
library(shiny) # Here is a Shiny app (contained within # a single file) that (1) prepares a # gt table, (2) sets up the `ui` with # `gt_output()`, and (3) sets up the # `server` with a `render_gt()` that # uses the `gt_tbl` object as the input # expression gt_tbl <- gtcars %>% gt() %>% cols_hide(contains("_")) ui <- fluidPage( gt_output(outputId = "table") ) server <- function(input, output, session) { output$table <- render_gt( expr = gt_tbl, height = px(600), width = px(600) ) } if (interactive()) { shinyApp(ui, server) }