我创建了一个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 32。他们只希望看到一个新表,但是动态生成的表将对其进行多次计算( 1,2,3,4),(1,2,3),(1,2),最后是(1)。这种计算有点慢,所以有很多滞后时间。如果默认选择为“ 1”或为空并且用户要选择所有选项,则会出现相反的问题。
在用户输入中进行更改后,预期的行为将有某种程度的暂停,因此,如果在表将刷新一次后不久进行了任何其他更改,则