R 如何以拆分为不同部分的格式显示数据?

R 如何以拆分为不同部分的格式显示数据?,r,shiny,shinydashboard,shiny-server,shinyapps,R,Shiny,Shinydashboard,Shiny Server,Shinyapps,我创建了一个闪亮的应用程序,用户在其中输入一些数据,然后将数据拆分为一组行,如基于冒号。这给了我不同的数据集组。数据集的组数总是不同的,因为它取决于用户在用于将数据按行分组的列中输入的内容。 我知道如何显示单个数据集,但如何显示作为不同表中输出的这些数据集组? 服务器:- library(shiny) data(iris) shinyServer( function(input, output) { output$data <- renderUI({

我创建了一个闪亮的应用程序,用户在其中输入一些数据,然后将数据拆分为一组行,如基于冒号。这给了我不同的数据集组。数据集的组数总是不同的,因为它取决于用户在用于将数据按行分组的列中输入的内容。 我知道如何显示单个数据集,但如何显示作为不同表中输出的这些数据集组?

服务器:-

library(shiny)
data(iris)
shinyServer(
  
  function(input, output) {
    
    output$data <- renderUI({
      splitDFs<- split(iris, iris$Species)
      splitRenders <- lapply(splitDFs, renderTable)
      return(splitRenders)
      # head(iris)
      
    })
    

  }
)

再次显示相同的表格


您可以查看
uiOutput
renderUI
。这些选项允许您传递动态渲染对象或对象列表。您的ui中有
uiOutput(“someName”)
,然后是
output$someName这就是您的意思吗?output$Domain\u split您的评论格式有点奇怪,所以它全部拼凑成一行,但从外观上看,您仍然只返回一个可渲染的。我假设split函数返回一个数据帧列表?您需要获取该列表,并将每个元素放在可渲染文件中。现在您有了一个可渲染文件列表-这就是您返回的内容。只要选中,它就可以了。所以你可以这样做:
splitDFs(这个…只是因为我不想复制split函数的参数,你显然想在那里输入合适的参数)我根据你的建议制作了一个小应用程序。我在描述中编辑了它。但它给出了一个奇怪的输出。它给了我三次相同的桌子
library(shiny)
shinyUI(fluidPage(
  titlePanel(title = h4("Iris Dataset", align="center")),
  sidebarLayout(
    sidebarPanel(
    ),
    
    mainPanel(
      uiOutput("data"),
                  
      )
      
    )
    
  ))
output$data <- renderUI({
    splitDFs<- split(iris, iris$Species)
    
    splitRenders <- lapply(1:length(splitDFs), function(x) renderTable(splitDFs[[x]]))

    return(splitRenders)
    
  })