У меня есть приложение с большим количеством параметров. Каждый параметр имеет большую детализацию, которая делает поиск желаемой болью. Это заставляет реактивную часть постоянно вычислять, что замедляет работу. Я добавил submitButton, который решил вышеупомянутую проблему, но затем испытал другую проблему по очереди.Блестящая реактивность
Ниже приведена простая репликация структуры, которую я построил. Ввод параметра принимает число от 1 до 1000, что указывает на образец, который я хочу. То, что я хотел бы сделать, - это сделать выше, но также иметь возможность повторной выборки с тем же набором параметров. То, что происходит сейчас после добавления кнопки отправки, состоит в том, что она делает кнопку повторной выборки неработоспособной, если я не нажму кнопку Resample first AND и update.
Любые идеи о том, что они оба работают отдельно?
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;
))
EDIT на основе Ответ Джо:
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;
))
У вас замечательный способ написания кода. Тонны белого пространства * между * линиями, но практически * нет * вокруг ключевых операторов ... –
Извините, отредактируйте код в следующий раз перед публикацией, я спешил с копирования и вставки ... – user1234440