gpt4 book ai didi

r - 如何在 R Shiny 中显示动态输出数量?

转载 作者:行者123 更新时间:2023-12-02 20:25:55 28 4
gpt4 key购买 nike

我做什么:我有一个 Shiny 的应用程序,可以将 csv 的每一列作为逐字输出返回。我附上了我当前的代码(UI.R 和 Server.R)以及下面的 csv 文件。

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

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

h1("Names"),
verbatimTextOutput("myColumn01"),

手动为每一列?

-

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

Names;Pages;Scores;Numbers
George;T;3;5
Jim;I;4;23
Jack;T;6;12
Anna;R;4;3

这是我的服务器。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)
})



})

这是我的 ui.R 文件:

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)

enter image description here

关于r - 如何在 R Shiny 中显示动态输出数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49985830/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com