将操作按钮与 R flexdashboard 一起使用

Bah*_*482 1 r shiny flexdashboard

是否可以在 R flexdashboard 中使用操作按钮?

例如,在下面的代表中,是否可以添加一个按钮,以便代码仅在显示按钮时运行?

我在网站上找不到文档https://garrettgman.github.io/rmarkdown/flexdashboard/using.html#html_widgets

谷歌处理的大部分信息都是在“纯粹”的闪亮应用程序中使用操作按钮而不是flexdashboard。

---
title: "example"
runtime: shiny
output: 
  flexdashboard::flex_dashboard:
    orientation: columns
    vertical_layout: fill
---

```{r setup, include=FALSE}
library(flexdashboard)
```

Column {data-width=100}
-----------------------------------------------------------------------

### Chart A

```{r}
numericInput("n1", "First number", 10)  


```

Column {data-width=900}
-----------------------------------------------------------------------

### Chart B

```{r}

DT::renderDataTable({
  

x = sample(1:input$n1, size=500, replace=TRUE)
x= as.data.frame(x)

  DT::datatable(x, options = list(
    bPaginate = FALSE
  ))
})


```
Run Code Online (Sandbox Code Playgroud)

sta*_*rja 6

是的,这是可能的。actionButton您可以在使用时包含一个numericInput,然后使用eventReactive编程模式:

---
title: "example"
runtime: shiny
output: 
  flexdashboard::flex_dashboard:
    orientation: columns
    vertical_layout: fill
---

```{r setup, include=FALSE}
library(flexdashboard)
```

Column {data-width=100}
-----------------------------------------------------------------------

### Chart A

```{r}
numericInput("n1", "First number", 10)  
actionButton("execute", "Generate data")

```

Column {data-width=900}
-----------------------------------------------------------------------

### Chart B

```{r}
table_data <- eventReactive(input$execute, {
  x = sample(1:input$n1, size=500, replace=TRUE)
  as.data.frame(x)
})


DT::renderDataTable({
  req(table_data())
  
  
  
  DT::datatable(table_data(), options = list(
    bPaginate = FALSE
  ))
})


```
Run Code Online (Sandbox Code Playgroud)