Как приостановить ПОСЛЕ ввода пользователя зарегистрировано в Rmarkdown - PullRequest
0 голосов
/ 03 мая 2019

Я создал документ Rmarkdown, который будет динамически генерировать некоторые таблицы на основе пользовательских данных. Некоторые из фильтров, с которыми пользователи могут взаимодействовать, могут иметь несколько параметров. Это может создать большую задержку, поскольку таблица постоянно обновляется, когда пользователь изменяет один параметр, даже если они не закончили обновлять настройки.

Рассмотрим следующие входные данные:

selectInput("range_1", label = "Sex:",
             choices = c("1", "2", "3", "4", "5"), multiple = TRUE, selected = c("1", "2", "3", "4", "5"))

selectInput("range_2", label = "Product:",
             choices = c("a", "b", "c"), multiple = TRUE, selected = c("a","b", "c"))

renderPrint(f(input$range_1, input$range_1))

Таблица будет сгенерирована на основе range_1 и range_2. Диапазон по умолчанию для range_1 включает все параметры, поэтому, если пользователь хочет отфильтровать только «1», ему необходимо отменить выбор 5 4 3 2. Он хочет видеть только одну новую таблицу, но динамически сгенерированная таблица рассчитает ее несколько раз ( 1,2,3,4), (1,2,3), (1,2) и, наконец, (1). Этот расчет немного медленный, поэтому время задержки очень велико. Противоположная проблема возникает, если по умолчанию выбрано «1» или пусто, и пользователь хочет выбрать все опции.

Предполагаемое поведение будет для некоторой паузы после внесения изменений в пользовательские вводы, поэтому, если любое другое изменение будет сделано вскоре после того, как таблица просто обновится один раз.

...