对于一个闪亮的应用程序中的所有数字字段,我会动态添加一个滑块。现在,我还想为基于滑块输入的数据添加一个动态过滤器。
为了说明这个问题,一些带有数据和静态过滤的代码:
library(glue)
library(tidyverse)
data <-
tibble(
a = c(61, 7, 10, 2, 5, 7, 23, 60),
b = c(2, 7, 1, 9, 6, 7, 3, 6),
c = c(21, 70, 1, 4, 6, 2, 3, 61)
)
input <- list("a" = c(2, 10),
"b" = c(7, 10),
"c" = c(1, 5))
data %>% filter(
between(a, input$a[1], input$a[2]),
between(b, input$b[1], input$b[2]),
between(c, input$c[1], input$c[2])
)有没有办法实现动态过滤?
发布于 2020-05-27 20:51:29
我为自己构建了一个动态过滤器,它基本上是有效的:
query <- data %>% filter_if(is.numeric) %>% colnames() %>% map( function(feature){
"between({
feature
}, input${
feature
}[1], input${
feature
}[2])" %>% glue()
}) %>% paste0(collapse = ", ")
eval(parse(text = "data %>% filter({
query
})" %>% glue()))有没有什么办法?
https://stackoverflow.com/questions/62043555
复制相似问题