如何在Shiny输出中使用able来整理数据帧

  • 本文关键字:able 数据帧 Shiny 输出 shiny
  • 更新时间 :
  • 英文 :


我有一个数据帧df,其列名包含下划线。我想用knitr::kable(df, ...)格式化它。当这与rmarkdown使用时,你可以传递给它一个很好的列名列表,它也会自动将名称扩展到多行,使表适合页面。

然而,我正试图使用kable与闪亮。也就是说,我希望renderXXX()类型的输出写入output对象,以便我可以从ui.R调用我的漂亮表。我试过在server.R:

renderText(
   knitr::kable(df, format = "html")
)

and in ui.R:

htmlOutput("results_table")

但是这只会导致一个非常混乱的表

我想你会在这里找到完整的答案:https://cran.r-project.org/web/packages/kableExtra/vignettes/use_kable_in_shiny.html


以mtcars数据集为例,首先将以下内容添加到ui部分:

mainPanel(
         tableOutput("mtcars_kable")
      )

,然后在server部分使用:

library(kableExtra)
   output$mtcars_kable <- function() {
     req(input$mpg)
     mtcars %>%
       mutate(car = rownames(.)) %>%
       select(car, everything()) %>%
       filter(mpg <= input$mpg) %>%
       knitr::kable("html") %>%
       kable_styling("striped", full_width = F) %>%
       add_header_above(c(" ", "Group 1" = 5, "Group 2" = 6))
   }

如果你想要一个更强大的数据表在Shiny,有能力广泛自定义的外观,尝试:

在Shiny中使用DT

最新更新