数据表不会在闪亮的仪表板中呈现

Posted

技术标签:

【中文标题】数据表不会在闪亮的仪表板中呈现【英文标题】:datatable does not render in Shiny Dashboard 【发布时间】:2015-09-16 17:23:25 【问题描述】:

数据表不会在 Shinydashboard 中呈现。它只是为盒子渲染了一条白色的细条。仅在 RStudio 中运行数据表函数会在 RStudio 查看器中呈现数据表。那么在闪亮的应用程序中呈现 DT 数据表的正确方法是什么?

## app.R ##
library(shiny)
library(shinydashboard)
library(htmlwidgets)
library(DT)
library(xtable)
source('../ts01/db.R')

ui <- dashboardPage(
  dashboardHeader(),
  dashboardSidebar(),
  dashboardBody(
    fluidRow(
      box(tableOutput("table1"))
    )
  )
)

server <- function(input, output) 
  output$table1 <- DT::renderDataTable(
    datatable(amount_data)
  )  


shinyApp(ui, server)

【问题讨论】:

由于您没有提供实际的表格内容,我最初的猜测是您将 source('../ts01/db.R') 更改为 source('../ts01/db.R' , local=TRUE)。 也不确定是否有必要调用datatable(amount_data),我认为如果amount_data 是data.frame,它会在没有额外命令的情况下这样做。 数据来自 source('../ts01/db.R')。此 R 脚本使用 Rmysql 将 SQL 表查询到有效数据帧中。 在 RStudio 中,对 datatable(amount_data) 的调用会在 RStudio 查看器中呈现数据表。假设它是渲染数据所必需的。 renderDataTable() 必须与dataTableOutput() 配对,而不是tableOutput() 【参考方案1】:

您应该尝试以下方法:

1) tableOutput

rm(list = ls())
library(shiny)
library(shinydashboard)
my_data <- head(mtcars)

ui <- dashboardPage(
  dashboardHeader(),
  dashboardSidebar(),
  dashboardBody(
    fluidRow(
      box(tableOutput("table1"))
    )
  )
)

server <- function(input, output) 
  output$table1 <- renderTable(
    my_data
  )  


shinyApp(ui, server)

2) dataTableOutput

rm(list = ls())
library(shiny)
library(DT)
library(shinydashboard)

my_data <- head(mtcars)

ui <- dashboardPage(
  dashboardHeader(),
  dashboardSidebar(),
  dashboardBody(
    fluidRow(
      box(DT::dataTableOutput("table1"))
    )
  )
)

server <- function(input, output) 
  output$table1 <- DT::renderDataTable(
    datatable(my_data)
  )  


shinyApp(ui, server)

【讨论】:

如果您缩小浏览器窗口,您会注意到数据表不包含在 box 元素中。使用 datatable(my_data, extensions = 'Responsive')【参考方案2】:

为了确保您使用正确的包来呈现您的数据表,请在您的 ui 中使用它:

DT::dataTableOutput('table1')

【讨论】:

以上是关于数据表不会在闪亮的仪表板中呈现的主要内容,如果未能解决你的问题,请参考以下文章

如何在闪亮的仪表板侧边栏中的 menuItem 或固定框下创建 checkBoxGroup 项?

闪亮的仪表板 - 显示一个专用的“正在加载..”页面,直到数据的初始加载完成

包含 HTML 文件的闪亮应用程序在命令中运行时不会呈现图像

输入菜单内容不会溢出 flexdashboard 中的行框

基于选定的单选按钮选项,在闪亮的R中单击提交按钮后如何显示图表和数据?

在图表中选择活动跟踪并在 R 闪亮的数据表中显示