r - 如何一次显示表的反应数量(具有不同的结果)?闪亮的应用程序
问题描述
根据我的选择,我在显示表的反应数量时遇到问题。我想做的是在一列中呈现与唯一记录一样多的表,并一一显示它们以及每个子组的结果。
如果我分享这个例子会更容易:
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)
我想从这段代码中得到的是 3 个表(一个带有齿轮 = 3 的汇总表,一个齿轮 = 4 和一个齿轮 = 5)。我现在得到的是 3 个表,结果为 gear=3。
我试图编写一个遍历列表的 for 循环,但我不知道应该在哪里添加这个 for 循环以使其正常工作。
谢谢!
解决方案
您可以使用split
根据数据框中某个因子的级别来制作表格列表。从那里,您的轻微修改renderUI
应该会得到您想要的结果。另请注意,我将tables
输出更改为,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)
推荐阅读
- javascript - 如何使用 Chromium Embedded Framework 将 JS 注入应用程序
- excel - Excel VBA - 从多张有条件的工作表中复制并放置在不同工作表中的某个单元格中
- django - Django Formset image.url 未填充
- java - EclEmma(Jacocco) 显示未覆盖的行,即使该行已执行
- javascript - WEBPACK 构建脚本无需更改即可中断
- node.js - 当我通过 962122961v 时 findOneAndRemove 删除了错误的用户,它将删除 962122963v
- c++ - 如何存储用户输入到 for 循环中的值?
- google-drive-api - 提交同意屏幕进行验证是否会自动触发未经验证的应用屏幕?
- python - 关于 MTCNN 中的人脸检测,在 align_dataset_mtcnn.py 中。这是什么意思?
- php - 如何将 ReCAPTCHA 集成到 WORDPRESS 中的默认登录表单/评论中