在简单的 Shiny 示例中使用 group_by 和 checkboxGroupInput

dave_in_newengland

我试图在一个简单的闪亮应用程序中使用 group_by 和 checkboxGroupInput 的输入,如下所示。

我期待如果我选中 2 个框(气缸和齿轮),我将获得与运行时相同的输出:

   mtcars%>%
     group_by(cyl, gear) %>%
     count()

# A tibble: 8 x 3
# Groups:   cyl, gear [8]
    cyl  gear     n
  <dbl> <dbl> <int>
1     4     3     1
2     4     4     8
3     4     5     2
4     6     3     2
5     6     4     4
6     6     5     1
7     8     3    12
8     8     5     2

这是简单的闪亮应用程序。当我选中从下面的代码创建的框时,我将如何模仿上面的输出?

# UI
    ui <- fluidPage(


  checkboxGroupInput("variable", "Variables to show:",
                     c("Cylinders"    = "cyl",
                       "Transmission" = "am",
                       "Gears"        = "gear"
                       )
                     ),
  tableOutput("data")
)


# Server
server <- function(input, output) {

    output$data <- renderTable({

      mtcars %>%
        group_by(!!as.name(input$variable)) %>%
        count()

      },
    rownames = TRUE)

  } # Server function close


# Run the app
  shinyApp(ui, server)

谢谢!

阿克伦

在 中server,我们可以将其更改为group_by_at需要字符串输入的,并且它可以通过包装来容纳多个组变量输入vars

server <- function(input, output) {

    output$data <- renderTable({

     mtcars %>%
         group_by_at(vars(input$variable)) %>%
         count()

      },
     rownames = TRUE)

  }

此外,在 OP 的代码中,group_by可能需要多个组,因此我们可以转换为具有syms(更多多个元素)的符号,然后评估 ( !!!)。如果我们使用symand !!,它一次只能对一个变量起作用

server <- function(input, output) {


  output$data <- renderTable({

    mtcars %>%
      group_by(!!! rlang::syms(input$variable)) %>%
      count()

  },
    rownames = TRUE)

}

-输出

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

R Shiny:在函数内使用HTML(例如textInput,checkboxGroupInput)

R Shiny:如何使用checkboxGroupInput值在表中进行搜索?

使用dplyr简单示例收集和传播

结合使用dplyr和filter,group_by和tail?

在使用Shiny的R中,有没有办法使用checkboxGroupInput的先前状态?

在同一图形上使用Shiny App中的checkboxGroupInput进行多图绘制

条件 group_by 示例

R Shiny:基于checkboxgroupinput的子集数据

R Shiny:如果带有checkboxGroupInput

如何使用Django管理外部联接,group_by和计数

无法将tidyselect`everything()`与`group_by()`和`fill()`结合使用

如何同時使用 ifelse 和 group_by?

使用group_by和subset命令进行组计算

使用mutate和group_by在行上滚动操作

使用dplyr和group_by计算值的重复次数

垂直和水平对齐checkBoxGroupInput

使用闪亮的动态 CheckboxGroupInput

使用Angular 1和TypeScript和SystemJS的简单示例

Celery和Django简单示例

如何在单行数据集中使用spread和group_by

在dplyr包中使用group_by和mutate通过id变量创建新的因子变量

在CodeIgniter中使用order_by和group_by无法正常工作

无法在Shiny中应用group_by

创建简单的分类视觉工具(使用Shiny)

使用 group by 和 order by 进行简单访问查询

在CSS中使用变量和简单计算

使用Shiny中的checkboxGroupInput使用plot_grid从一个小标题中绘制可选图

使用__setstate__和__getstate__的简单示例

使用多处理队列,池和锁定的简单示例