使用闪亮输入为dplyr group_by选择变量

时间:2017-02-28 20:53:55

标签: r shiny dplyr

我想根据用户可以选择作为输入的列对data.frame进行分组。因此,我使用group_by包中的dplyr函数。

但是,input$variable是一个字符串,所以这不会在group_by中工作,它需要变量。我不知道如何更改代码以使其工作:

library(shiny)
library(dplyr)

df <- data.frame(
         a = c("a1", "a2", "a1"), 
         d = c("d1", "d1", "d2"), 
         b = c(2, 4, 5)
)
ui <- fluidPage(
  selectInput("variable", "Select a variable", choices = c("a", "d"), selected = "a"),
  tableOutput("table")
)

server <- function(input, output) {
  output$table <- renderTable({
    df %>% group_by(input$variable) %>% summarise(the_sum = sum(b))
    # this would work: df %>% group_by(a) %>% summarise(the_sum = sum(b))
  })
}

shinyApp(ui, server)

关于如何解决这个问题的任何想法?

0 个答案:

没有答案