R从多个selectInput中选择手机面板
在我闪亮的应用程序中,我有一个selectInput,multiple=True。这允许从列表中选择多个变量。 我想为列表中的每个变量添加conditionalPanel,只有在选择变量时才会显示 例如:R从多个selectInput中选择手机面板,r,shiny,R,Shiny,在我闪亮的应用程序中,我有一个selectInput,multiple=True。这允许从列表中选择多个变量。 我想为列表中的每个变量添加conditionalPanel,只有在选择变量时才会显示 例如: shinyUI(fluidPage( sidebarPanel( selectInput("variables", "Choose variables" , choices = c("VAR1", "VAR2", "VAR3", "VAR4"), multip
shinyUI(fluidPage(
sidebarPanel(
selectInput("variables", "Choose variables" , choices = c("VAR1", "VAR2", "VAR3", "VAR4"), multiple=TRUE),
conditionalPanel(
condition = " input.variables == 'VAR1' ",
selectInput("VAR1", "values", c("A", "B", "C"))
)
),
mainPanel(
)
)
问题是,由于我选择了几个变量,我的条件输入$variables=='VAR1'为false,因为input.variables包含多个值。什么条件可以在这里工作?在R中,条件将是%input.variables中的:“VAR1”%
谢谢您可以使用
|
创建多个条件,因此代码如下所示:
conditionalPanel(
condition = c("input$variables == 'VAR1' || input$variables == 'VAR2'"),
#here your follwing selectinput
这意味着,如果您的输入是VAR1或其VAR2或两者,条件面板将接受并转到selectinput。还可以使用&&生成VAR1和VAR2等
另外,如果要为每个变量创建一个条件面板,请不要使用multiple=TRUE,并更改为单选selectinput。将所选变量连接到字符串中,然后执行模式匹配检查。这应该行得通
selected <- paste(input$variables, collapse=",")
if ("VAR1" %in% selected)
selected您要查找的Javascript条件是
input.variables.indexOf('VAR1') > -1
我也搜索了这个问题,发现Javascript必须遵循这个条件。
对于正在搜索此内容的任何人,Laurent在上面给出了正确的答案
我们还可以向您提供以下条件:
conditionalPanel(condition = "input.variables.includes('VAR1')")
你应该提供一个可复制的例子。服务器丢失。谢谢您的回复。我希望每个变量都有一个不同的ConditionalPanel,但我不想做一个选择,因为这样做的目的是打印带有选定变量和选定条件的数据帧。假设我有一个包含200个变量的数据帧,我只想在输出中显示其中的5个变量,其中的一些条件是VAR1==“a”和VAR4 in('AAA','BBB')。所以我只想在上面选择变量的情况下显示条件,但我不能对每个变量都有一个单一的选择。这个答案有点太简洁了!