desctable
objects.datatable(data, ...)# S3 method for default
datatable(data, options = list(), class = "display",
callback = DT::JS("return table;"), caption = NULL, filter = c("none",
"bottom", "top"), escape = TRUE, style = "default", width = NULL,
height = NULL, elementId = NULL,
fillContainer = getOption("DT.fillContainer", NULL),
autoHideNavigation = getOption("DT.autoHideNavigation", NULL),
selection = c("multiple", "single", "none"), extensions = list(),
plugins = NULL, ...)
# S3 method for desctable
datatable(data, options = list(paging = F, info = F,
search = F, dom = "Brtip", fixedColumns = T, fixedHeader = T, buttons =
c("copy", "excel")), class = "display",
callback = DT::JS("return table;"), caption = NULL, filter = c("none",
"bottom", "top"), escape = FALSE, style = "default", width = NULL,
height = NULL, elementId = NULL,
fillContainer = getOption("DT.fillContainer", NULL),
autoHideNavigation = getOption("DT.autoHideNavigation", NULL),
selection = c("multiple", "single", "none"), extensions = c("FixedHeader",
"FixedColumns", "Buttons"), plugins = NULL, rownames = F, digits = 2,
...)
format
.JS()
will be treated as literal
JavaScript code instead of normal character strings; you can also set
options globally via options(DT.options = list(...))
, and
global options will be merged into this options
argument if settable
to be applied to the DataTables instance (i.e. table
)htmltools::tags$caption()
none
: no filters;
bottom/top
: put column filters at the bottom/top of the table; range
sliders are used to filter numeric/date/time columns, select lists are used
for factor columns, and text input boxes are used for character columns; if
you want more control over the styles of filters, you can provide a list to
this argument of the form list(position = 'top', clear = TRUE, plain
= FALSE)
, where clear
indicates whether you want the clear buttons
in the input boxes, and plain
means if you want to use Bootstrap
form styles or plain text input styles for the text input boxesTRUE
means
to escape the whole table, and FALSE
means not to escape it;
alternatively, you can specify numeric column indices or column names to
indicate which columns to escape, e.g. 1:5
(the first 5 columns),
c(1, 3, 4)
, or c(-1, -3)
(all columns except the first and
third), or c('Species', 'Sepal.Length')
'default'
and 'bootstrap'
are supportedTRUE
to configure the table to automatically fill
it's containing element. If the table can't fit fully into it's container
then vertical and/or horizontal scrolling of the table cells will occur.TRUE
to automatically hide navigational UI
when the number of total records is less than the page size.list(mode = 'multiple',
selected = c(1, 3, 8), target = 'row')
to pre-select rows; the element
target
in the list can be 'column'
to enable column
selection, or 'row+column'
to make it possible to select both rows
and columns (click on the footer to select columns), or 'cell'
to
select cellsTRUE
(show row names) or FALSE
(hide row names)
or a character vector of row names; by default, the row names are displayed
in the first column of the table if exist (not NULL
)format = "f"
) or significant digits
(format = "g"
, = "e"
or = "fg"
). Default: 2 for integer, 4 for real numbers. If less than 0,
the C default of 6 digits is used. If specified as more than 50, 50
will be used with a warning unless format = "f"
where it is
limited to typically 324. (Not more than 15--21 digits need be
accurate, depending on the OS and compiler used. This limit is
just a precaution against segfaults in the underlying C runtime.)
library(DT)
# see the package vignette for examples and the link to website
vignette('DT', package = 'DT')
# some boring edge cases for testing purposes
m = matrix(nrow = 0, ncol = 5, dimnames = list(NULL, letters[1:5]))
datatable(m) # zero rows
datatable(as.data.frame(m))
m = matrix(1, dimnames = list(NULL, 'a'))
datatable(m) # one row and one column
datatable(as.data.frame(m))
m = data.frame(a = 1, b = 2, c = 3)
datatable(m)
datatable(as.matrix(m))
# dates
datatable(data.frame(
date = seq(as.Date("2015-01-01"), by = "day", length.out = 5), x = 1:5
))
datatable(data.frame(x = Sys.Date()))
datatable(data.frame(x = Sys.time()))
###
Run the code above in your browser using DataLab