【问题标题】:Render HTML on Shiny tabpanel在闪亮的标签面板上渲染 HTML
【发布时间】:2018-08-05 09:36:00
【问题描述】:

HTML 输出由 summarytool::dfSummary 函数创建。

summarytools

summarytools 使用 Bootstrap 的样式表生成独立的 HTML 文档,这些文档可以使用通用 print() 函数显示在 Web 浏览器或 RStudio 的查看器中。

当 HTML 在标签面板上呈现时,整个 UI 都会发生变化。有没有办法在不改变 UI 的情况下在标签面板上呈现 HTML?

library(summarytools)

ui <- fluidPage(
  titlePanel("dfSummary"),
  sidebarLayout(
    sidebarPanel(
      uiOutput("dfSummaryButton")
    ),
    mainPanel(
      tabsetPanel(
        tabPanel("Data Input",
         dataTableOutput("dataInput"),
         br(),
         verbatimTextOutput("profileSTR")),
        tabPanel("dfSummary Output",
         htmlOutput("profileSummary")))
    )
  )
)
server <- function(input, output, session) {
#Read in data file
recVal <- reactiveValues()
dfdata <- iris

#First 10 records of input file
output$dataInput <- renderDataTable(head(dfdata, n = 10), options = list(scrollY = '500px', 
                          scrollX = TRUE, searching = FALSE, paging = FALSE, info = FALSE, 
                          ordering = FALSE, columnDefs = list(list(className = 'dt-center', 
                          targets = '_all'))))

#str() of input file
output$profileSTR <- renderPrint({
  ProStr <- str(dfdata)
  return(ProStr) 
})

#Create dfSummary Button
output$dfSummaryButton <- renderUI({
      actionButton("dfsummarybutton", "Create dfSummary")
    })

### Apply dfSummary Buttom
observeEvent(input$dfsummarybutton, {
  recVal$dfdata <- dfdata
})

#dfSummary data
output$profileSummary <- renderUI({
       req(recVal$dfdata)
       SumProfile <- print(dfSummary(recVal$dfdata), omit.headings = TRUE, method = 'render')
       SumProfile
})
}
shinyApp(ui, server)

【问题讨论】:

    标签: html r shiny summarytools


    【解决方案1】:

    summarytools 0.8.3 版有一个新的布尔选项bootstrap.css,它将防止这种情况发生。此外,graph.magnif 允许调整图表的大小。

    SumProfile <- print(dfSummary(recVal$dfdata), 
                        method = 'render',
                        omit.headings = TRUE,
                        footnote = NA,
                        bootstrap.css = FALSE,
                        graph.magnif = 0.8)
    

    最新版可以用devtools安装:

    devtools::install_github("dcomtois/summarytools")

    祝你好运:)

    【讨论】:

      猜你喜欢
      • 2018-01-14
      • 1970-01-01
      • 2017-11-26
      • 1970-01-01
      • 1970-01-01
      • 2018-05-30
      • 2015-01-11
      • 2016-06-12
      • 2018-03-02
      相关资源
      最近更新 更多