有没有办法在添加 RShiny 按钮的同时保持即时操作?
Is there a way that add RShiny button but also keep the immediate action?
我是 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个数字并得到另一个结果。
在这种情况下,我应该 select 按钮的哪个功能?非常感谢您的帮助!
您可以添加一个操作按钮,然后将您的数据移动到一个依赖于按钮和输入值的响应式元素中。例如
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)
我是 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个数字并得到另一个结果。
在这种情况下,我应该 select 按钮的哪个功能?非常感谢您的帮助!
您可以添加一个操作按钮,然后将您的数据移动到一个依赖于按钮和输入值的响应式元素中。例如
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)