reactable {reactable} | R Documentation |
Create an interactive data table
Description
reactable()
creates a data table from tabular data with sorting
and pagination by default. The data table is an HTML widget that can be
used in R Markdown documents and Shiny applications, or viewed from an
R console.
Usage
reactable(
data,
columns = NULL,
columnGroups = NULL,
rownames = NULL,
groupBy = NULL,
sortable = TRUE,
resizable = FALSE,
filterable = FALSE,
searchable = FALSE,
searchMethod = NULL,
defaultColDef = NULL,
defaultColGroup = NULL,
defaultSortOrder = "asc",
defaultSorted = NULL,
pagination = TRUE,
defaultPageSize = 10,
showPageSizeOptions = FALSE,
pageSizeOptions = c(10, 25, 50, 100),
paginationType = "numbers",
showPagination = NULL,
showPageInfo = TRUE,
minRows = 1,
paginateSubRows = FALSE,
details = NULL,
defaultExpanded = FALSE,
selection = NULL,
defaultSelected = NULL,
onClick = NULL,
highlight = FALSE,
outlined = FALSE,
bordered = FALSE,
borderless = FALSE,
striped = FALSE,
compact = FALSE,
wrap = TRUE,
showSortIcon = TRUE,
showSortable = FALSE,
class = NULL,
style = NULL,
rowClass = NULL,
rowStyle = NULL,
fullWidth = TRUE,
width = NULL,
height = NULL,
theme = getOption("reactable.theme"),
language = getOption("reactable.language"),
meta = NULL,
elementId = NULL,
static = getOption("reactable.static", FALSE),
selectionId = NULL
)
Arguments
data |
A data frame or matrix. Can also be a |
columns |
Named list of column definitions. See |
columnGroups |
List of column group definitions. See |
rownames |
Show row names? Defaults to To customize the row names column, use Cells in the row names column are automatically marked up as row headers for assistive technologies. |
groupBy |
Character vector of column names to group by. To aggregate data when rows are grouped, use the |
sortable |
Enable sorting? Defaults to |
resizable |
Enable column resizing? |
filterable |
Enable column filtering? |
searchable |
Enable global table searching? |
searchMethod |
Custom search method to use for global table searching.
A |
defaultColDef |
Default column definition used by every column. See |
defaultColGroup |
Default column group definition used by every column group.
See |
defaultSortOrder |
Default sort order. Either |
defaultSorted |
Character vector of column names to sort by default.
Or to customize sort order, a named list with values of |
pagination |
Enable pagination? Defaults to |
defaultPageSize |
Default page size for the table. Defaults to 10. |
showPageSizeOptions |
Show page size options? |
pageSizeOptions |
Page size options for the table. Defaults to 10, 25, 50, 100. |
paginationType |
Pagination control to use. Either |
showPagination |
Show pagination? Defaults to |
showPageInfo |
Show page info? Defaults to |
minRows |
Minimum number of rows to show per page. Defaults to 1. |
paginateSubRows |
When rows are grouped, paginate sub rows? Defaults to |
details |
Additional content to display when expanding a row. An R function
that takes the row index and column name as arguments, or a |
defaultExpanded |
Expand all rows by default? |
selection |
Enable row selection? Either To get the selected rows in Shiny, use To customize the selection column, use |
defaultSelected |
A numeric vector of default selected row indices. |
onClick |
Action to take when clicking a cell. Either |
highlight |
Highlight table rows on hover? |
outlined |
Add borders around the table? |
bordered |
Add borders around the table and every cell? |
borderless |
Remove inner borders from table? |
striped |
Add zebra-striping to table rows? |
compact |
Make tables more compact? |
wrap |
Enable text wrapping? If |
showSortIcon |
Show a sort icon when sorting columns? |
showSortable |
Show an indicator on sortable columns? |
class |
Additional CSS classes to apply to the table. |
style |
Inline styles to apply to the table. A named list or character string. Note that if |
rowClass |
Additional CSS classes to apply to table rows. A character
string, a |
rowStyle |
Inline styles to apply to table rows. A named list, character
string, Note that if |
fullWidth |
Stretch the table to fill the full width of its container?
Defaults to |
width |
Width of the table in pixels. Defaults to To set the width of a column, see |
height |
Height of the table in pixels. Defaults to |
theme |
Theme options for the table, specified by
|
language |
Language options for the table, specified by
|
meta |
Custom metadata to pass to JavaScript render functions or style functions.
A named list of values that can also be |
elementId |
Element ID for the widget. |
static |
Render the table to static HTML? Defaults to the global
With static rendering, tables are pre-rendered to their initial HTML so they appear immediately without any flash of content. Tables are then made interactive and subsequently rendered by JavaScript as needed. Static rendering is experimental, and is not supported for tables
rendered via |
selectionId |
Deprecated. Use |
Value
A reactable
HTML widget that can be used in R Markdown documents
and Shiny applications, or viewed from an R console.
Note
See the online documentation for additional details and examples.
See Also
-
renderReactable()
andreactableOutput()
for using reactable in Shiny applications or interactive R Markdown documents. -
colDef()
,colFormat()
, andcolGroup()
to customize columns. -
reactableTheme()
andreactableLang()
to customize the table.
Examples
# Basic usage
reactable(iris)
# Grouping and aggregation
reactable(
iris,
groupBy = "Species",
columns = list(
Sepal.Length = colDef(aggregate = "count"),
Sepal.Width = colDef(aggregate = "mean"),
Petal.Length = colDef(aggregate = "sum"),
Petal.Width = colDef(aggregate = "max")
)
)
# Row details
reactable(iris, details = function(index) {
htmltools::div(
"Details for row: ", index,
htmltools::tags$pre(paste(capture.output(iris[index, ]), collapse = "\n"))
)
})
# Conditional styling
reactable(sleep, columns = list(
extra = colDef(style = function(value) {
if (value > 0) {
color <- "green"
} else if (value < 0) {
color <- "red"
} else {
color <- "#777"
}
list(color = color, fontWeight = "bold")
})
))