我有一个包含大量参数的应用程序。每个参数都有很多粒度,这使得找到所需的参数变得很痛苦。这会导致反应部分不断计算哪个会减慢速度。我添加了一个 submitButton 解决了上述问题,但随后又遇到了另一个问题。
下面是我构建的框架的简单复制。参数输入接受一个从 1 到 1000 的数字,表示我想要的样本。我想做的是能够在上面做,但也能够用相同的参数集重新采样。添加提交按钮后现在发生的事情是它使重新采样按钮无法操作,除非我先单击重新采样,然后再单击更新按钮。
有什么让他们分开工作的想法吗?
shinyServer(function(input, output) {
getY<-reactive({
a<-input$goButton
x<-rnorm(input$num)
return(x)
})
output$temp <-renderPlot({
plot(getY())
}, height = 400, width = 400)
})
shinyUI(pageWithSidebar(
headerPanel("Example"),
sidebarPanel(
sliderInput("num",
"Number of Samples",
min = 2,
max = 1000,
value = 100),
actionButton("goButton", "Resample"),
submitButton("Update View")
),
mainPanel(
tabsetPanel(
tabPanel("Heatmap",
plotOutput("temp")
),
tabPanel("About"),
id="tabs"
)#tabsetPanel
)#mainPane;
))
根据乔的回答编辑:
shinyServer(function(input, output) {
getY<-reactive({
isolate({a<-input$goButton
x<-rnorm(input$num)
return(x)})
})
output$temp <-renderPlot({
b<-input$goButton1
plot(getY())
}, height = 400, width = 400)
})
shinyUI(pageWithSidebar(
headerPanel("Example"),
sidebarPanel(
sliderInput("num",
"Number of Samples",
min = 2,
max = 1000,
value = 100),
actionButton("goButton", "Resample"),
actionButton("goButton1","Update View")
),
mainPanel(
tabsetPanel(
tabPanel("Heatmap",
plotOutput("temp")
),
tabPanel("About"),
id="tabs"
)#tabsetPanel
)#mainPane;
))