【问题标题】:Data.table: dynamically select group by variables using shinyData.table:使用闪亮的变量动态选择组
【发布时间】:2018-03-17 14:01:12
【问题描述】:

我正在尝试开发一个应用程序,允许用户选择在 data.table 的“by”部分中使用哪些变量。

假设 mtcars 数据集被加载到应用程序中,在 UI 中会有一个类似的选择:

vector.vars <- c('am', 'gear', 'carb')
selectInput("vars", "Select variables:", as.list(vector.vars), selected = 'am', multiple = TRUE)

此选择输入将在 UI 中呈现,当用户选择服务器中的某些变量时,将使用如下:

output$table <- renderDataTable({
  d <- mtcars[, list(mpg_mean= mean(mpg), by=input$vars]
  })

在这种情况下,如果用户选择了“am”和“carb”,前面的脚本应该执行这个操作:

  d <- mtcars[, list(mpg_mean= mean(mpg), by=list(am, carb)]

并显示 'am' 和 'carb' 的每个组合的 'mpg' 的平均值。

...但是 by=input$vars 不能按预期工作。

关于如何达到所需输出的任何想法, 提前致谢!

【问题讨论】:

    标签: r shiny data.table


    【解决方案1】:

    这样就可以了:

    as.data.table(mtcars)[, .(mpg_mean = mean(mpg)), by = c(input$vars)]
    

    【讨论】:

      猜你喜欢
      • 2015-01-15
      • 2013-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-25
      • 2014-10-25
      • 2016-11-21
      相关资源
      最近更新 更多