在 bsplus 函数中集成 R 输出

Integrating R outputs in bsplus functions

我认为 bsplus 包在开发动态网站时很重要。我在 Rstudio 中使用 R Markdown。

但是,我发现将 bsplus 函数与 R 输出集成的方法特别棘手。

让我们看一个 bs_accordion 函数的例子,使用 mtcars 数据集

head <- head(mtcars)
tail <- tail(mtcars)

bs_accordion(id ="Data: mtcars") %>%
  bs_append(title = "Head of mtcars", content = head) %>%
  bs_append(title = "Tail of mtcars", content = tail)

我想在手风琴函数中显示 R 输出,显示数据帧 headtail

现在,它只显示 head 中的第一个数字行。

是否可以在 bsplus 函数的 content 属性中包含 R 代码?

通过这种方式,我们可以动态显示 R 结果。

这应该适用于您的示例。您必须以某种方式创建一个数据table,仅包含它不会将其呈现为table。

注意:我把手风琴的id改成了Data-mtcars。使用空格、“:”或“;”将禁用折叠。

library(shiny)
library(bsplus)
library(DT)

ui <- fluidPage(
  bs_accordion(id ="Data-mtcars") %>%
    bs_set_opts(panel_type = "primary", use_heading_link = T) %>%
    bs_append(title = "Head of mtcars", content = DT::dataTableOutput("table1")) %>%

    bs_set_opts(panel_type = "primary", use_heading_link = T) %>%
    bs_append(title = "Tail of mtcars", content = DT::dataTableOutput("table2"))
)

server <- function(input, output) {

  output$table1 <- DT::renderDataTable({
    head
  })  
  output$table2 <- DT::renderDataTable({
    tail
  })
}

shinyApp(ui, server)