【问题标题】:Rshiny summary statisticsR闪亮的汇总统计
【发布时间】:2020-12-14 23:29:05
【问题描述】:

我是 Rshiny 的新手,我需要帮助在 Rshiny 中生成一些汇总统计数据。

我的任务的目的是创建一个选择输入,允许用户选择 6 个变量之一。用户选择变量后,应该会生成输出以呈现汇总统计信息。

这是我的代码:

library(shiny)
library(dplyr)
library(ggplot2)
library(markdown)
library(gtsummary)

#################################################################

ui <- fluidPage(
  navbarPage("",
    tabPanel("Data Exploration",
             sidebarLayout(
               sidebarPanel(
                 selectInput("variable",
                             "Variable",
                             colnames(data))
               ),
               mainPanel(
                 tableOutput("table")
               )
             )
    )
  )
)
                        
                


#################################################################


server <- function(input, output) {
  sum <- reactive({
      data <- data %>%
      select(input$variable) %>%
      summary()
  })
  
  output$table <- renderTable(sum())
}




#################################################################
shinyApp(ui, server)

每当我运行应用程序时,它都会生成:

基本上,我想创建一个非常简单的汇总表,其中列名看起来像 Min、Q1、Median、Mean、Q3、Max 的数值变量

也许只是一个简单的表格,其中列名是和否,用于分类变量。

我也尝试过使用 Summarise() 函数手动创建摘要,但这也给我带来了问题。

实际的统计数据本身现在对我来说并不一定很重要,因为我只想先让表格正确。谁能帮我修一下我的桌子?

【问题讨论】:

    标签: r shiny summary


    【解决方案1】:

    您可以使用 tidyr 包中的 separatepivot_wider 函数来分离指标名称和值,然后将指标作为列移动:

    data <- data %>%
      select(input$variable) %>%
      summary() %>%
      as.data.frame() %>%
      tidyr::separate(Freq, c("Stat", "Value"), sep=":") %>%
      tidyr::pivot_wider(names_from =Stat, values_from = Value)
    

    【讨论】:

    • 其实,对不起,它只适用于数值变量。关于分类的任何想法? (只有一个,级别:是,否)
    • 如果你将它们转换为因子,它会起作用(在调用summary()之前使用mutate( jaild = as.factor( jaild ))
    • 抱歉,已将入狱设置为一个因素。无论如何,我还是尝试了您的代码,但没有奏效。不过,我想我在手机上找到了解决方案,但感谢所有帮助!
    猜你喜欢
    • 2021-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多