Column formatting options
Use colFormat()
to add data formatting to a column.
colFormat( prefix = NULL, suffix = NULL, digits = NULL, separators = FALSE, percent = FALSE, currency = NULL, datetime = FALSE, date = FALSE, time = FALSE, hour12 = NULL, locales = NULL )
prefix |
Prefix string. |
suffix |
Suffix string. |
digits |
Number of decimal digits to use for numbers. |
separators |
Whether to use grouping separators for numbers, such as thousands separators or thousand/lakh/crore separators. The format is locale-dependent. |
percent |
Format number as a percentage? The format is locale-dependent. |
currency |
Currency format. An ISO 4217 currency code such as |
datetime |
Format as a locale-dependent date-time? |
date |
Format as a locale-dependent date? |
time |
Format as a locale-dependent time? |
hour12 |
Whether to use 12-hour time ( |
locales |
Locales to use for number, date, time, and currency formatting.
A character vector of BCP 47 language tags, such as Multiple locales may be specified to provide a fallback language in case a locale is unsupported. When multiple locales are specified, the first supported locale will be used. See here for a list of common BCP 47 language tags. |
A column format object that can be used to customize data formatting
in colDef()
.
Custom cell rendering in colDef()
to customize data formatting
beyond what the built-in formatters provide.
data <- data.frame( price_USD = c(123456.56, 132, 5650.12), price_INR = c(350, 23208.552, 1773156.4), number_FR = c(123456.56, 132, 5650.12), temp = c(22, NA, 31), percent = c(0.9525556, 0.5, 0.112), date = as.Date(c("2019-01-02", "2019-03-15", "2019-09-22")) ) reactable(data, columns = list( price_USD = colDef(format = colFormat(prefix = "$", separators = TRUE, digits = 2)), price_INR = colDef(format = colFormat(currency = "INR", separators = TRUE, locales = "hi-IN")), number_FR = colDef(format = colFormat(locales = "fr-FR")), temp = colDef(format = colFormat(suffix = " \u00b0C")), percent = colDef(format = colFormat(percent = TRUE, digits = 1)), date = colDef(format = colFormat(date = TRUE, locales = "en-GB")) )) # Date formatting datetimes <- as.POSIXct(c("2019-01-02 3:22:15", "2019-03-15 09:15:55", "2019-09-22 14:20:00")) data <- data.frame( datetime = datetimes, date = datetimes, time = datetimes, time_24h = datetimes, datetime_pt_BR = datetimes ) reactable(data, columns = list( datetime = colDef(format = colFormat(datetime = TRUE)), date = colDef(format = colFormat(date = TRUE)), time = colDef(format = colFormat(time = TRUE)), time_24h = colDef(format = colFormat(time = TRUE, hour12 = FALSE)), datetime_pt_BR = colDef(format = colFormat(datetime = TRUE, locales = "pt-BR")) )) # Currency formatting data <- data.frame( USD = c(12.12, 2141.213, 0.42, 1.55, 34414), EUR = c(10.68, 1884.27, 0.37, 1.36, 30284.32), INR = c(861.07, 152122.48, 29.84, 110, 2444942.63), JPY = c(1280, 226144, 44.36, 164, 3634634.61), MAD = c(115.78, 20453.94, 4.01, 15, 328739.73) ) reactable(data, columns = list( USD = colDef( format = colFormat(currency = "USD", separators = TRUE, locales = "en-US") ), EUR = colDef( format = colFormat(currency = "EUR", separators = TRUE, locales = "de-DE") ), INR = colDef( format = colFormat(currency = "INR", separators = TRUE, locales = "hi-IN") ), JPY = colDef( format = colFormat(currency = "JPY", separators = TRUE, locales = "ja-JP") ), MAD = colDef( format = colFormat(currency = "MAD", separators = TRUE, locales = "ar-MA") ) )) # Formatting aggregated cells data <- data.frame( States = state.name, Region = state.region, Area = state.area ) reactable(data, groupBy = "Region", columns = list( States = colDef( aggregate = "count", format = list( aggregated = colFormat(suffix = " states") ) ), Area = colDef( aggregate = "sum", format = colFormat(suffix = " mi\u00b2", separators = TRUE) ) ))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.