我有一个数据集,其中有一个名为“变量”的变量。我想在“变量”列的每个唯一值的闪亮应用程序中显示表格。请参阅下面的图像快照。我正在通过 lapply()使用它。它工作正常。但是显示表需要一些时间,因为我有近20张表。每个表都有近15列。除了lapply()之外,还有其他更好的循环方法可以做到这一点。
stratsgroups <- Detailed %>% distinct(Variables) %>% pull()
observe({
lapply(stratsgroups, function(x) {
output[[paste0('T_', x)]] <- DT::renderDataTable({
# Data Preparation
data() %>% dplyr::filter(Variables == x) %>% select(2:(ncol(Detailed)-2)) %>%
rename(!!x := !!sym("Categories")) %>%
# ==============
# DT Option
# ==============
datatable(rownames=FALSE,
extensions = c('Buttons', 'FixedColumns'), selection = 'none',
options = list(
columnDefs = list(list(className = 'dt-center', targets = '_all')),
paging = T,
pageLength = 10,
searching = FALSE,
ordering=F,
info = F,
dom = 'Bfrtip',
scrollX = TRUE,
fixedColumns = list(leftColumns = 1),
# Callbacks
rowCallback = lastrow(),
fnDrawCallback = DTpagination(),
# Button
buttons = DTmenuitems(Table_Menu, title)
) )
})
})
})
output$dt <- renderUI({
tagList(lapply(stratsgroups, function(i) {
box(dataTableOutput(session$ns(paste0('T_', i))), width = 12)
}))
})