Я пытаюсь создать приборную панель в Shiny, которая отображает реактивную радиолокационную карту.
Для моих входов пользователь сначала выбирает одну команду из списка команд. Затем следующее выпадающее меню обновит список игроков в зависимости от выбранной команды.
Как только пользователь выбирает игрока, подмножество его атрибутов из набора данных берется и отображается радиолокационная карта его атрибутов.
График отображается плавно для любого игрока из той же команды. Тем не менее, когда я выбираю другую команду, возникает период, равный одной секунде, когда в списке игроков все еще есть список старой команды до ее обновления.
В этот последующий период, поскольку существует несоответствие между командой и игроком, в подмножестве нет данных. Следовательно, я получаю сообщение об ошибке, но сразу после завершения расчета отображается правильный график. Так как же я могу добавить задержку в одну или две секунды перед отображением графика?
#Select team
output$t <- renderUI({
selectInput(inputId = "x", choices = as.character(unique(d$team)))
})
#Select player
output$p <- renderUI({
d1 = d[d$team == input$x, "player"]
selectInput(inputId = "y", choices = unique(d1))
})
#Plot
output$r <- renderPlot({
rating <- (subset(x = d, d$team == input$x & d$player == input$y))[,c("F1","F2")]
radarchart(df = rating)
})