【问题标题】:Summarize using dplyr and shiny使用 dplyr 和 Shiny 进行总结
【发布时间】:2017-08-30 15:56:04
【问题描述】:

我目前有一个应用程序设置,它允许用户输入他们想要绘制和可视化的变量。当我试图将闪亮的输入变量传递给汇总时,我遇到了一个问题。

testData <- plotData %>% 
        summarize(means=mean(input$selectedMetric, na.rm=TRUE)) %>%
        summarize(sd=sd(input$selectedMetric, na.rm=TRUE))

我得到的错误如下:

Warning in mean.default(input$selectedMetric, na.rm = TRUE) :
argument is not numeric or logical: returning NA

我应该如何设置它以获取用户决定的任何选定列的平均值和标准差?

【问题讨论】:

  • 请显示整个代码

标签: r shiny dplyr


【解决方案1】:

这里可能会出错:

  • 您在使用input$selectedMetric 时没有检查null

  • 您不当使用reactives。您应该在最后使用 () 来访问响应式组件,因为它们是返回某些内容的函数。

下面我假设您的 plotData 变量不是反应式的,它是一个声明的对象

testData <- reactive({
  if(is.null(input$selectedMetric)){
    return()
  }
  plotData %>% 
    summarize(means=mean(input$selectedMetric, na.rm=TRUE)) %>%
    summarize(sd=sd(input$selectedMetric, na.rm=TRUE))
})

testData()

您可以访问摘要,如下所示:testData()

【讨论】:

    猜你喜欢
    • 2016-07-26
    • 2020-02-28
    • 2019-12-03
    • 1970-01-01
    • 1970-01-01
    • 2020-03-30
    • 1970-01-01
    • 2019-07-16
    • 1970-01-01
    相关资源
    最近更新 更多