【发布时间】:2021-05-25 01:55:15
【问题描述】:
我正在尝试在 flexdashboard 闪亮应用中使输入对另一个输入做出反应。
这里是 df 示例:
> dat = data.frame(id = LETTERS[1:10],g1 = c(rep(24,5),rep(35,5)),g2 = c(2401,2401,2402,2402,2403,3501,3501,3502,3503,3503),val = seq(from = 10, to = 100, by = 10))
> dat
id g1 g2 val
1 A 24 2401 10
2 B 24 2401 20
3 C 24 2402 30
4 D 24 2402 40
5 E 24 2403 50
6 F 35 3501 60
7 G 35 3501 70
8 H 35 3502 80
9 I 35 3503 90
10 J 35 3503 100
创建简单的反应集:
dat_r <- reactive({
out = dat %>% filter(g1 == input$g1, g2 == input$g2)
return(out)
})
为应用创建输入:
shinyWidgets::pickerInput('g1','Select g1',choices = unique(dat$g1),
options = list(`actions-box` = T), multiple = T, selected = 24)
shinyWidgets::pickerInput('g2','Select g2',choices = unique(dat$g2),
options = list(`actions-box` = T), multiple = T, selected = 2401)
创建输出:
renderDataTable(dat_r())
我的问题是,如果我在 g1 中选择 24,我想要在 g2 中的唯一选项以 24 开头,如果我选择 35,我想要的唯一选项以 35 开头,我该怎么做?
谢谢
【问题讨论】:
标签: r shiny flexdashboard