如何在R中显示动态数量的输出?

如何在R中显示动态数量的输出?,r,shiny,R,Shiny,我所做的: 我有一个闪亮的应用程序,它以逐字输出的形式返回我的csv的每一列。我在下面附上了我当前的代码(UI.R和Server.R)和csv文件 我的问题:我需要为许多不同的csv文件编写这样的应用程序,这些文件都有不同的列数。如何在不必书写的情况下自动执行此操作 output$myColumn01 = renderPrint({ as.character(D$Names) }) 及 为每一列手动 - 这是我的csv(“myCSV.csv”): 这是我的server.R文件: library

我所做的: 我有一个闪亮的应用程序,它以逐字输出的形式返回我的csv的每一列。我在下面附上了我当前的代码(UI.R和Server.R)和csv文件

我的问题:我需要为许多不同的csv文件编写这样的应用程序,这些文件都有不同的列数。如何在不必书写的情况下自动执行此操作

output$myColumn01 = renderPrint({
as.character(D$Names)
})

为每一列手动

-

这是我的csv(“myCSV.csv”):

这是我的server.R文件:

library(shiny)
library(dplyr)
library(shinydashboard)



server <- shinyServer(function(input, output, session) {


D = read.csv(file = "myCSV.csv", sep = ";")



output$myColumn01 = renderPrint({
as.character(D$Names)
})


output$myColumn02 = renderPrint({
as.character(D$Pages)
})


output$myColumn03 = renderPrint({
as.character(D$Scores)
})


output$myColumn04 = renderPrint({
as.character(D$Numbers)
})



})
库(闪亮)
图书馆(dplyr)
图书馆(shinydashboard)

服务器这是您期望的吗

library(shiny)
library(dplyr)
library(shinydashboard)

server <- shinyServer(function(input, output, session) {

  D = read.csv(file = "myCSV.csv", sep = ";")

  lapply(1:ncol(D), function(i){
    output[[sprintf("myColumn%02d",i)]] <- 
      renderPrint({
        as.character(D[[colnames(D)[i]]])
      })
  })

  output$ui <- renderUI({
    lapply(1:ncol(D), function(i){
      tagList(
        h1(colnames(D)[i]),
        verbatimTextOutput(sprintf("myColumn%02d",i))
      )
    })
  })

})


ui <- shinyUI(dashboardPage(

  dashboardHeader(title = "Sessions"),
  dashboardSidebar(
    width = 350,
    collapsed = TRUE,
    ""
  ),

  dashboardBody(

    uiOutput("ui")

  )
))

shinyApp(ui=ui, server=server)
库(闪亮)
图书馆(dplyr)
图书馆(shinydashboard)
服务器
library(shiny)
library(dplyr)
library(shinydashboard)



server <- shinyServer(function(input, output, session) {


D = read.csv(file = "myCSV.csv", sep = ";")



output$myColumn01 = renderPrint({
as.character(D$Names)
})


output$myColumn02 = renderPrint({
as.character(D$Pages)
})


output$myColumn03 = renderPrint({
as.character(D$Scores)
})


output$myColumn04 = renderPrint({
as.character(D$Numbers)
})



})
library(shiny)
library(dplyr)
library(shinydashboard)


ui <- shinyUI(dashboardPage(

  dashboardHeader(title =  "Sessions"),
  dashboardSidebar(
    width = 350,
    collapsed = TRUE,
     ""
  ),



  dashboardBody(


  h1("Names"),
  verbatimTextOutput("myColumn01"),
  h1("Pages"),
  verbatimTextOutput("myColumn02"),
  h1("Scores"),
  verbatimTextOutput("myColumn03"),
  h1("Numbers"),
  verbatimTextOutput("myColumn04")

  )
))
library(shiny)
library(dplyr)
library(shinydashboard)

server <- shinyServer(function(input, output, session) {

  D = read.csv(file = "myCSV.csv", sep = ";")

  lapply(1:ncol(D), function(i){
    output[[sprintf("myColumn%02d",i)]] <- 
      renderPrint({
        as.character(D[[colnames(D)[i]]])
      })
  })

  output$ui <- renderUI({
    lapply(1:ncol(D), function(i){
      tagList(
        h1(colnames(D)[i]),
        verbatimTextOutput(sprintf("myColumn%02d",i))
      )
    })
  })

})


ui <- shinyUI(dashboardPage(

  dashboardHeader(title = "Sessions"),
  dashboardSidebar(
    width = 350,
    collapsed = TRUE,
    ""
  ),

  dashboardBody(

    uiOutput("ui")

  )
))

shinyApp(ui=ui, server=server)