Я бы спросил. Does Shiny действительно нравится всегда обновлять код после ввода? Сначала я код этого в УИ:Блестящий R, всегда обновляющий код после ввода
box(##title="Quality Attributes",
selectInput("att_ViewChart", width = '100%',label="Quality Attributes",
##multiple = TRUE,
choices=list(
"-",
"Suitability",
"Security",
)
)
),
dataTableOutput("tabelstatus")
Тогда я код этот сервер:
server = function(input, output) {
withProgress(message = "AAAAA",{
DateStatus_Sui<-c(1,2,3,4,NA,5,6,NA,7)
TimeStatus_Sui<-c(11,22,33,44,NA,55,66,NA,88)
status_Sui<-c(11,22,44,55,66,77,88)
jumlah<-7
})
if(input$att_ViewChart=="Suitability"){
Date<-DateStatus_Sui[!is.na(DateStatus_Sui)]
Time<-TimeStatus_Sui[!is.na(TimeStatus_Sui)]
Status<-status_Sui
Observation<-1:jumlah
#output
tabelstatus<-data.frame(Observation,Date,Time,Status)
output$tabelstatus<-renderDataTable(tabelstatus)
}
Я надеюсь, что, когда я запустить приложение. Блестящий обработает код (отображается индикатором выполнения «AAAAA»). И после этого, если я выберу подходящий, он сделает немного больше процесса, а затем покажет таблицу. Но я обнаружил, что индикатор выполнения снова появляется. Кажется, он снова запускает код с самого начала. Как это исправить? Спасибо
Вы можете разместить весь ваш 'server.R'? или, по крайней мере, сделать полный воспроизводимый пример? – SymbolixAU
@Symbolix - это воспроизводимый код. реальный гораздо сложнее. разве это не работает? – Elbert
«воспроизводимый» означает, что я могу просто скопировать и вставить свой код в среду R, и он будет работать. Я не могу сделать это с вашим кодом. Не видя всей вашей «server.R», сложно диагностировать вашу проблему. Я бы предположил, что у вас нет вашего 'if (input $ att_ViewChart ...)' внутри выражения 'реактивное()'. Либо это, либо вам нужно «изолировать()' условие 'if (input $ ...)'. – SymbolixAU