Ho un'applicazione con un numero elevato di parametri. Ogni parametro ha un sacco di granularità che rendono il trovare quello desiderato un dolore. Ciò fa sì che la parte reattiva calcoli costantemente che rallenta le cose. Ho aggiunto un pulsante submit che ha risolto il problema precedente, ma poi ho riscontrato un altro problema a sua volta.Shiny Reactivity
Di seguito è riportata una semplice replica del framework I build. Il parametro input prende un numero da 1 a 1000, che indica il campione a cui voglio. Quello che mi piacerebbe fare è essere in grado di fare sopra, ma anche essere in grado di ricampionare con lo stesso insieme di parametri. Quello che sta accadendo ora dopo aver aggiunto il pulsante di invio è che rende inutilizzabile il pulsante resample, a meno che non faccia clic su ricampiona prima E poi aggiorni il pulsante.
Qualche idea di far funzionare entrambi separatamente?
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 in base alla risposta di Joe:
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;
))
Hai un notevole modo di scrivere codice. Tonnellate di spazio bianco * tra * linee ma praticamente * nessuna * attorno agli operatori chiave ... –
mi dispiace modificare il codice la prossima volta prima di pubblicare, ero di fretta da copia e incolla ... – user1234440