如何在shiny dashboard中使用R包“formattable”?

14

以下是我编写的代码。 我无法在我的Shiny应用程序中使用formattableformattable有助于表格格式化和改善可视化效果。

library("shinydashboard")
library("shiny")
library("formattable")

body <- dashboardBody(
  fluidRow(
    column(width = 12,
           box(tableOutput(formattable(test.table, list())))
           )
    )
  )

ui <- dashboardPage(
  dashboardHeader(title = "Column layout"),
  dashboardSidebar(),
  body
)

server <- function(input, output) {

  test.table <- data.frame(lapply(1:8, function(x) {1:10}))

    output$table <- renderTable({test.table})
}
shinyApp(ui = ui, server = server)

将用于制作表格的代码放在渲染函数中,output$table <- renderTable({ formattable(test.table) }),并且在输出函数中只使用输出名称,fluidRow(column(width = 12, tableOutput('table'))). - Rorschach
无法工作。它会输出,但与formattable(test.table)不同。格式不同。 - Akshit
1
好的,有renderFormattableformattableOutput函数,它们可能可以满足您的需求,如果不行,您只需要更改与表格容器相关联的CSS即可。 - Rorschach
1个回答

31

你必须同时使用renderFormattable、formattableOutput和formattable这三个函数,才能使其正常工作。

library("shinydashboard")
library("shiny")
library("formattable")

body <- dashboardBody(
 fluidRow(
   column(width = 12,
        box(formattableOutput("table"))
   )
 )
)

ui <- dashboardPage(
    dashboardHeader(title = "Column layout"),
    dashboardSidebar(),
    body
 )

 server <- function(input, output) {

    test.table <- data.frame(lapply(1:8, function(x) {1:10}))

    output$table <- renderFormattable({formattable(test.table, list())})
}
shinyApp(ui = ui, server = server)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接