R 如何一次显示表的反应数(结果不同)?闪亮应用
根据我的选择显示表的数量时出现问题。我想做的是,在一列中呈现尽可能多的表以及它的唯一记录,并逐个显示它们以及每个子组的结果 如果我与大家分享这个例子,会更容易:R 如何一次显示表的反应数(结果不同)?闪亮应用,r,shiny,R,Shiny,根据我的选择显示表的数量时出现问题。我想做的是,在一列中呈现尽可能多的表以及它的唯一记录,并逐个显示它们以及每个子组的结果 如果我与大家分享这个例子,会更容易: dashboardHeader(title = "My App"), dashboardSidebar(id="", sidebarMenu( menuItem(strong("Tab1"), tabName = "T1", icon = icon("table")))), dashboardBody(
dashboardHeader(title = "My App"),
dashboardSidebar(id="", sidebarMenu(
menuItem(strong("Tab1"), tabName = "T1", icon = icon("table")))),
dashboardBody(
tabItems(
tabItem(
tabName="T1",
fluidRow(tableOutput('tables'))
)
)
)
)
server <- function(input, output) {
observeEvent(length(unique(mtcars$gear)), {
lapply(1:length(unique(mtcars$gear)),
function(i){
output[[paste0('table', i)]]<-renderTable({
filtered<-mtcars
a<-list()
for (j in unique(filtered$gear)){
subd <- filtered[filtered$gear == j,]
a[[j]]<-subd
}
for(i in 1:length(a)){
a[[i]]
}
a[[3]]
})
})
})
output$tables <- renderUI({
lapply(1:length(unique(mtcars$gear)),
function(i) {
uiOutput(paste0('table', i))
})
})
}
shinyApp(ui = ui, server = server)
仪表板标题(title=“我的应用”),
仪表板侧栏(id=),侧栏菜单(
菜单项(strong(“Tab1”),tabName=“T1”,icon=icon(“table”),
仪表板主体(
tabItems(
tabItem(
tabName=“T1”,
fluidRow(tableOutput('tables'))
)
)
)
)
服务器您可以使用split
根据数据框中某个因子的级别创建表列表。在此基础上,对renderUI
稍加修改,即可获得所需的结果。还请注意,我将表格
输出更改为uiOutput
,而不是tableOutput
,因为您使用renderUI
填充了表格
library(shiny)
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(title = "My App"),
dashboardSidebar(id = "", sidebarMenu(
menuItem(strong("Tab1"), tabName = "T1", icon = icon("table"))
)),
dashboardBody(tabItems(tabItem(
tabName = "T1",
fluidRow(uiOutput('tables'))
)))
)
server <- function(input, output) {
tables_in_list <- split(x = mtcars, f = mtcars$gear)
output$tables <- renderUI({
lapply(seq_along(tables_in_list), function(i)
renderTable(tables_in_list[[i]]))
})
}
shinyApp(ui = ui, server = server)
库(闪亮)
图书馆(shinydashboard)
用户界面