Artigo escrito com a colaboração de Larisse Annie Saldanha
Quando usamos tabelas para as mais diferentes finalidades, podemos criar desde tabelas elaborados no Excel até data frames no R. Mas como deixar essas tabelas mais interativas e fáceis de usar quando estiverem em páginas HTML? É para ajudar nessa tarefa que usamos o pacote data table.
O pacote DT fornece uma interface em JavaScript para a biblioteca DataTable. Os objetos de dados do R (matrizes ou data frames) podem ser exibidos como tabelas em páginas HTML, e o DataTables fornece filtragem, paginação, classificação e muitos outros recursos nas tabelas. Os argumentos são:
datatable(data, options = list(), class = "display",
callback = JS("return table;"), rownames, colnames, container,
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, editable = FALSE)
Editando Tabelas no data table
Pode-se editar uma tabela via argumento editable
do pacote. Depois de finalizar as edições, pode-se obter os índices da coluna e linha e os novos valores das células onde foram editadas via input$tableId_cell_info
.
De modo geral, cria-se um observeEvent()
da seguinte maneira:
observeEvent(input$table_cell_edit, {
info = input$table_cell_edit
proxy4 = dataTableProxy("table")
str(info)
i = info$row
j = info$col + 1 # column index offset by 1
v = info$value
dados[i, j] <<- DT::coerceValue(v, dados[i, j])
replaceData(proxy4, dados , resetPaging = FALSE, rownames = FALSE) })
Algumas Extensões Úteis do pacote data table
AutoFill
Com essa extensão, você verá um quadrado azul no canto direito que te permite preencher toda a coluna ou a linha.
library(DT)
datatable(iris, extensions = c('AutoFill','KeyTable'), editable = TRUE, options = list(
autoFill = TRUE, keys= TRUE))
Botões
datatable(
iris, extensions = 'Buttons', options = list(
dom = 'Bfrtip',
buttons = c('copy', 'csv', 'excel', 'pdf', 'print')
)
)
Visibilidade
datatable(
iris, rownames = FALSE,
extensions = 'Buttons', options = list(dom = 'Bfrtip', buttons = I('colvis'))
)
KeyTable
datatable(iris, extensions = 'KeyTable', options = list(keys = TRUE))
Painéis de Busca
datatable(
iris,
options = list(dom = 'Pfrtip', columnDefs = list(list(
searchPanes = list(show = FALSE), targets = 1:4
))),
extensions = c('Select', 'SearchPanes'),
selection = 'none'
)
Você já usa o Data Table para editar as suas tabelas no R? Tem alguma dica extra? Diz pra gente aqui nos comentários. E não esqueça de seguir a Oper nas redes sociais, estamos no Instagram, Facebook e LinkedIn!
3 comentários em “Como usar pacote Data Table no R?”
Esse package é muito interessante, dá pra fazer ótimas tabelas.
Obrigado por compartilhar
Sim, ele é super útil! Valeu Rafael 🙂
Olá amigo, bom dia!
Excelente material!!!
Sabe dizer onde encontro mais material dessa biblioteca Datatable para R? Gostaria de fazer algumas edições nas visualizações, porém só encontro na sintaxe de JS puro. Preciso de mais detalhes desse funcionamento.
Obrigado