R 在tabsetpanel中创建表的动态数量

R 在tabsetpanel中创建表的动态数量,r,shiny,R,Shiny,我试图在tabsetPanel参数中创建动态数量的数据表。多亏了这里各种各样的帖子,我找到了这个“不起作用的解决方案” 表已正确呈现和访问,但tabsetPanel无法创建,我想知道如何才能使其正常工作,欢迎提供任何帮助: library(DT) # for simplification this is not dynamic but created without hardcoded variable calls. portalData <- lapply(1:10,functi

我试图在tabsetPanel参数中创建动态数量的数据表。多亏了这里各种各样的帖子,我找到了这个“不起作用的解决方案”

表已正确呈现和访问,但tabsetPanel无法创建,我想知道如何才能使其正常工作,欢迎提供任何帮助:

library(DT)

# for simplification this is not dynamic but created without hardcoded variable calls.

  portalData <- lapply(1:10,function(x)data.frame(rnorm(5,1))
  names(portalData) <- 1:10


shinyApp(
  ui = pageWithSidebar(    

  headerPanel("Dynamic number of tables inside tabpanels"),            
  sidebarPanel(
  ),            
  mainPanel(
    uiOutput("tables")
  )
),

server = function(input, output) {

observe({

  output$tables <- renderUI({

    names_list <- lapply(seq_along(portalData), function(i){
      tablename <- paste(names(portalData)[i])
      tabPanel(dataTableOutput(tablename))
    })
    do.call(tabsetPanel,do.call(tagList, names_list))

  })

  for(i in 1:length(portalData)){
    local({
      i2 <- i
      output[[names(portalData)[i2]]] <- renderDataTable({portalData[[i2]]})
    })
  }

})

})
库(DT)
#为了简化,这不是动态的,而是在没有硬编码变量调用的情况下创建的。

portalData是否认为已解决此问题?请将您的解决方案作为答案发布。很抱歉造成混淆,问题仍然存在。没有弄清楚如何在数据表周围放置tabPanel。是否尝试创建动态数量的tabPanel,每个tabPanel都包含一个表?是的,完全正确。虽然我不确定我的思路是否正确,但是有一个问题:
tabPanel
需要一个标题值,否则它不会被识别为tab。所以试试
tabPanel(粘贴0(“tab-”,i)、dataTableOutput(tablename))
或类似的东西。