r - 有没有办法在添加 RShiny 按钮的同时保持即时操作?
问题描述
我是 RShiny 的新手。我做了一个程序,效果很好。它包含一个模拟功能,当参数发生变化时,它可以立即做出反应。但是,我想添加一个可以使用该参数并再次运行模拟功能的按钮。另外,我想保持即时反应。
我创建了一个类似的示例。
library(shiny)
ui <- fluidPage(
# Application title
titlePanel("Testing"),
# Sidebar with a slider input for number of sample
sidebarLayout(
sidebarPanel(
sliderInput("n",
"Number:",
min = 1,
max = 10,
value = 5)
),
# Show sample result
mainPanel(
textOutput("sample")
)
)
)
# Define server logic
server <- function(input, output) {
x <- c(1:100)
output$sample <- renderPrint({
sample(x, input$n)
})
}
# Run the application
shinyApp(ui = ui, server = server)
就像在这个示例中一样,我从 1 到 100 采样了 N 个数字。当 slicebar 更改时,结果会立即更改。同时,我想添加一个按钮,可以再次重新采样 N 个数字并获得另一个结果。
在这种情况下,我应该为按钮选择哪个功能?非常感谢你的帮助!
解决方案
您可以添加一个操作按钮,然后将您的数据移动到依赖于按钮和输入值的反应元素中。例如
library(shiny)
ui <- fluidPage(
# Application title
titlePanel("Testing"),
# Sidebar with a slider input for number of sample
sidebarLayout(
sidebarPanel(
sliderInput("n", "Number:", min = 1, max = 10, value = 5),
actionButton("rerun", "Rerun")
),
# Show sample result
mainPanel(
textOutput("sample")
)
)
)
# Define server logic
server <- function(input, output) {
x <- c(1:100)
current_data <- reactive({
input$rerun
sample(x, input$n)
})
output$sample <- renderPrint({
current_data()
})
}
# Run the application
shinyApp(ui = ui, server = server)
推荐阅读
- amazon-web-services - AWS 在 1-2 周后教育 Ec2 公钥错误?
- kubernetes - 如何在 k8s 中运行类似作业的 post-init-container
- simulation - NS2:如何为节点设置队列限制
- reporting-services - SSRS - 减少处理时间
- blazor - 如何使用foreach从父组件调用子组件方法
- r - R根据条件填充矩阵,错误
- html - 如何设计一个应用程序来从给定的 URL 更改网站的 CSS 文件?
- docker - 暴露 X 时 Docker 和 Docker Compose 的不同行为
- python - 使用多选表单在 DJANGO 中过滤
- python - Tensorflow Dataset + FeatureColumn API 比普通的 numpy 慢吗?