R 数据表的动态数量
我正在使用附加的代码根据组生成子表。由于某些原因,每个表只呈现数据的最后一部分。 如果有人能告诉我出了什么问题,那就太好了 溴R 数据表的动态数量,r,shiny,shinydashboard,dt,R,Shiny,Shinydashboard,Dt,我正在使用附加的代码根据组生成子表。由于某些原因,每个表只呈现数据的最后一部分。 如果有人能告诉我出了什么问题,那就太好了 溴 库(闪亮) 图书馆(shinydashboard) 图书馆(DT) 库(数据表) tabnamesOk,找到了一个解决方案:需要在单独的变量中传递它: library(shiny) library(shinydashboard) library(DT) library(data.table) tabnames <- LETTERS[1:6] DT <-
库(闪亮)
图书馆(shinydashboard)
图书馆(DT)
库(数据表)
tabnamesOk,找到了一个解决方案:需要在单独的变量中传递它:
library(shiny)
library(shinydashboard)
library(DT)
library(data.table)
tabnames <- LETTERS[1:6]
DT <- data.table(mtcars[1:30,], keep.rownames=TRUE)
DT[, grp:=rep(tabnames, each=trunc(nrow(mtcars)/length(tabnames)))]
ui = dashboardPage(
dashboardHeader(title = "Dynamic DTs"),
dashboardSidebar(),
dashboardBody(
uiOutput("tables"),
p(),
verbatimTextOutput("selectedCells")
)
)
server <- function(input, output, session) {
output$tables <- renderUI({
output_list <- list()
for(i in seq(tabnames)){
output_list[[i]] <- column(4, DT::dataTableOutput(outputId=tabnames[i]))
}
print(fluidRow(output_list))
return(fluidRow(output_list))
})
for(i in seq(tabnames)){
tabname <- tabnames[i]
local({
subDT <- DT[grp %in% tabname, 1:3]
output[[tabname]] <- DT::renderDataTable({
subDT
}, selection=list(mode="multiple", target="cell"))
})
}
output$selectedCells <- renderPrint(input$A_cells_selected)
}
shinyApp(ui = ui, server = server)
库(闪亮)
图书馆(shinydashboard)
图书馆(DT)
库(数据表)
标签名
library(shiny)
library(shinydashboard)
library(DT)
library(data.table)
tabnames <- LETTERS[1:6]
DT <- data.table(mtcars[1:30,], keep.rownames=TRUE)
DT[, grp:=rep(tabnames, each=trunc(nrow(mtcars)/length(tabnames)))]
ui = dashboardPage(
dashboardHeader(title = "Dynamic DTs"),
dashboardSidebar(),
dashboardBody(
uiOutput("tables"),
p(),
verbatimTextOutput("selectedCells")
)
)
server <- function(input, output, session) {
output$tables <- renderUI({
output_list <- list()
for(i in seq(tabnames)){
output_list[[i]] <- column(4, DT::dataTableOutput(outputId=tabnames[i]))
}
print(fluidRow(output_list))
return(fluidRow(output_list))
})
for(i in seq(tabnames)){
tabname <- tabnames[i]
local({
subDT <- DT[grp %in% tabname, 1:3]
output[[tabname]] <- DT::renderDataTable({
subDT
}, selection=list(mode="multiple", target="cell"))
})
}
output$selectedCells <- renderPrint(input$A_cells_selected)
}
shinyApp(ui = ui, server = server)