我正在尝试在下面的应用程序中的列表中选择一个值,在面板中我可以在选择列表时看到不同的元素,但双重选择的输出不起作用
ui.R
library(shiny)
sampList <- list(1:3, 1:4, 1:6)
shinyUI(fluidPage(
headerPanel('Choose methods to compare'),
sidebarPanel(
wellPanel(
selectInput(
"method1", "Method 1",
c(Method1 = "method1",
Method2 = "method2",
Method3 = "method3"
)),
conditionalPanel(
condition = "input.method1 == 'method1'",
selectInput(
"member1", "Member",
sampList[[1]] )
),
conditionalPanel(
condition = "input.method1 == 'method2'",
selectInput(
"member1", "Member",
sampList[[2]] )
),
conditionalPanel(
condition = "input.method1 == 'method3'",
selectInput(
"member1", "Member",
sampList[[3]] )
) ),
mainPanel(
textOutput('table')
)
)
)
)
server.R
library(shiny)
shinyServer(function(input, output, session) {
output$table <- renderText({
c(input$method1, input$member1)
})
})
在这个例子中,当我选择“方法1”时,我看到正确的向量(1:3),如果我选择一个数字,我会看到正确的输出(如果有人运行应用程序则打印输出),但是如果我选择其他“方法”,矢量内的选择是不打印的,有什么猜测吗?
答案 0 :(得分:0)
StéphaneLaurent在2004年回答了这个问题 https://groups.google.com/forum/#!forum/shiny-discuss
你可以叫他们method1_member, method2_member,
......
然后你可以通过input[[paste0(input$method1, "_member")]]