我正在构建一个闪亮的应用程序。我想为每个选择的列渲染因子。为此,我有两个selectInput小部件。第一个呈现列名称,第二个呈现第一个小部件选择的列的因子。我写的代码不是渲染因素,而是在闪亮的环境之外工作。代码如下:
第一次选择输入:
observe({
updateSelectInput(session, "filt", choices = sort(as.character(colnames(s()))))
})
2nd selectInput - 返回'filt'selectInput。
中所选列的因子observe({
updateSelectInput(session, "filt1", choices = sort(as.character(unique(s()$input$filt))))
})
可重复的表格:
structure(list(Gender = structure(c(2L, 1L, 2L, 2L, 2L), .Label = c("Female",
"Male"), class = "factor"), AGE = c(20L, 20L, 15L, 16L, 13L),
BOTTLE_CNT = c(3L, 0L, 0L, 1L, 2L), QUALIFICATION_DESC = structure(c(2L,
2L, 1L, 2L, 2L), .Label = c("12th and below", "Graduation"
), class = "factor")), .Names = c("Gender", "AGE", "BOTTLE_CNT",
"QUALIFICATION_DESC"), class = "data.frame", row.names = c(NA,
-5L))
我想要的是,如果我在第一个selectInput中选择Gender,则应该在第二个selectInput中自动呈现选项Male和Female。
我没有得到所呈现的因素。不知道我哪里出错了。
答案 0 :(得分:0)
将第一个selectInput的ID添加到第二个观察:
observe({
input$filt, updateSelectInput(
session, "filt1",
choices = sort(as.character(unique(s()$input$filt))))
})
这可能会有所帮助。