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)
是的,这是可能的。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)