问题描述
有人知道我如何在闪亮的应用程序中显示由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)
感谢帮助!
解决方法
可以像这样通过tableOutput
和renderTable
来实现。第一种方法通过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)