Было несколько вещей, которые мне нужно было вырезать, чтобы это работало.Сначала была боковая панель Layout.Это могло быть с вашей главной панелью.Я уверен, что вы можете заставить это работать, просто убедитесь, что mainPanel находится в нужном месте и не добавлен в sidebarLayout, что могло быть проблемой.
Было несколько других проблем, таких как renderUI и UIOutput.Может быть, кто-то еще добавит пост о том, как использовать эти функции.Кроме того, я добавил реактивную функцию, чтобы textOutput изменился.
Посмотрите, как работает моя.
mynames <- c("John", "Mary", "Jim")
ui = shinyUI(
fluidPage(
sidebarPanel(
selectInput('chosen_name',"Select a name:",
choices = c("Name not on our list", mynames),
selected = "Name not on our list")
),
mainPanel(
textOutput('chosen_name2')
)
)
)
server = shinyServer(function(input, output, session) {
# A vector of pre-existing names:
selectedchosen_name <- reactive({
if (input$chosen_name == 'Name not on our list') {return("Pick a name")} else {
return("If the name you want is not on our list, type it here:")
}
})
# Allow to select a name from the list of pre-existing names:
output$chosen_name2 <- renderText({
selectedchosen_name()
})
# Open end box to enter name - if the name the user wants to enter is not on the list:
})
shinyApp(ui = ui, server = server)
Я удалил некоторые части, которые могут быть избыточными, но сейчас это упрощено, так что вы можете добавить к ним.Если у вас есть какие-либо вопросы просто спросить.