I would like to hide a column (col4 in example below) in a dataframe using the DT package.
I've incorporated the code snippet found here, to no avail - col4 still shows. Here is my sessionInfo, along with my reproducible example.
> sessionInfo()
R version 3.2.3 (2015-12-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
locale:
[1] LC_COLLATE=English_United States.1252
[2] LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils
[5] datasets methods base
other attached packages:
[1] DT_0.1.55 shiny_0.13.1
loaded via a namespace (and not attached):
[1] htmlwidgets_0.6 magrittr_1.5
[3] R6_2.1.2 htmltools_0.3.5
[5] tools_3.2.3 yaml_2.1.13
[7] Rcpp_0.12.4 jsonlite_0.9.19
[9] digest_0.6.9 xtable_1.8-2
[11] httpuv_1.3.3 mime_0.4
library(shiny)
library(DT)
ui <- fluidPage(
dataTableOutput("testtable")
) #close fluidpage
server <- function(input, output, session){
output$testtable <- DT::renderDataTable({
test <- data.frame(a = runif(10), b = runif(10), c = runif(10),
col4 = c('a', 'b', 'b', 'a', 'c', 'b', 'c', 'b', 'b', 'a'))
datatable(test, options=list(columnDefs = list(list(visible=FALSE, targets='col4')))) %>%
formatStyle(columns = 1, valueColumns = 'col4',
backgroundColor = styleEqual('a', 'green')
) %>% #close formatstyle
formatStyle(columns = 2, valueColumns = 'col4',
backgroundColor = styleEqual('b', 'green')
) %>% #close formatstyle
formatStyle(columns = 3, valueColumns = 'col4',
backgroundColor = styleEqual('c', 'green')
) #close formatstyle
}) #close renderDataTable
} # closer server
shinyApp(ui=ui, server=server)
The cols_hide() function allows us to hide one or more columns from appearing in the final output table.
To hide and show columns use columns() and visible() method. Call it on dataTables instance and pass column index in columns() method and false to visible() method.
The targets
should be numeric values of the column number
datatable(test, options=list(columnDefs = list(list(visible=FALSE, targets=c(4))))) %>%
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With