在闪亮的应用程序中显示变量的摘要summary

问题描述

有人知道我如何在闪亮的应用程序中显示由summary()创建的摘要吗?这样一来,值的说明(例如“平均值”,“中位数”)也会显示出来。

到目前为止,我已经在verbatimtextoutput()上进行过尝试。

library(shiny)

# FAKE DATAFRAME
data <- reactive(  
    data.frame(
        group = sample(c("A","B"),100,replace = TRUE),var1 = round(runif(100,min = 0,max = 100),0),var2 = sample(c("A",replace = TRUE)
    )
)

# USER INTERFACE
ui <- fluidPage(
    verbatimtextoutput("text1")
)

# SERVER
server <- function(input,output) {
    output$text1 <- renderText({
        summary(data()$var1)
    })
}

# START APP
shinyApp(ui = ui,server = server)

感谢帮助!

解决方法

可以像这样通过tableOutputrenderTable来实现。第一种方法通过tibble::enframe将输出的summary()转换为小标题,这将为您提供按列的表,其中第一列包含摘要统计信息的名称,而第二种方法使用tibble::tibble为您提供按行的表格,第一行包含摘要统计信息的名称。试试这个:

library(shiny)
library(tibble)
# FAKE DATAFRAME
data <- reactive(  
  data.frame(
    group = sample(c("A","B"),100,replace = TRUE),var1 = round(runif(100,min = 0,max = 100),0),var2 = sample(c("A",replace = TRUE)
  )
)

# USER INTERFACE
ui <- fluidPage(
  tableOutput("text1"),tableOutput("text2")
)

# SERVER
server <- function(input,output) {
  output$text1 <- renderTable({
    tibble::enframe(summary(data()$var1))
  })
  output$text2 <- renderTable({
    tibble::tibble(!!!summary(data()$var1))
  })
}

# START APP
shinyApp(ui = ui,server = server)