R Shiny - 如何在 selectInput 中显示选择标签

标签 r shiny

我定义了一个 selectInput 如下。我想访问每个选项的标签,并将其呈现在主面板上。

如果用户选择“Sugar sweetened bev.”,我想在主面板上呈现如下内容:

“你选择了加糖的 bev。”,但我得到的是“你选择了 ssb”。

我以这种方式设置 selectInput 选项的原因是因为我想要图表标题的左侧,而右侧是变量名称。

非常感谢任何建议或替代方向!

 library(shiny)
 ui <- fluidPage(
 sidebarLayout(
  sidebarPanel(
     selectInput("foodvars", "Select food:",
                 choices = c("Beef/Pork" = "beefpork",
                             "Sugar sweeteened bev." = "ssb",
                             "Total fruit" = "total_fruit"))),
  mainPanel(
     textOutput("dispText")))
)
ui <- fluidPage(
 sidebarLayout(
  sidebarPanel(
     selectInput("foodvars", "Select food:",
                 choices = c("Beef/Pork" = "beefpork",
                             "Sugar sweeteened bev." = "ssb",
                             "Total fruit" = "total_fruit"))),
  mainPanel(
     textOutput("dispText")))
)
server <- function(input, output) {

output$dispText <- renderText({
 paste("You chose ",input$foodvars)})
}

shinyApp(ui = ui, server = server)

最佳答案

我们全局创建相同命名的向量,然后在逻辑 names 上使用 vector 检索名称

library(shiny)
ui <- fluidPage(
  sidebarLayout(
    sidebarPanel(
      selectInput("foodvars", "Select food:",
                  choices = c("Beef/Pork" = "beefpork",
                              "Sugar sweeteened bev." = "ssb",
                              "Total fruit" = "total_fruit"))),
    mainPanel(
      textOutput("dispText")))
)

choiceVec <- c("Beef/Pork" = "beefpork",
               "Sugar sweeteened bev." = "ssb",
               "Total fruit" = "total_fruit")

server <- function(input, output) {

  output$dispText <- renderText({

    paste("You chose ",names(choiceVec)[choiceVec == input$foodvars])})
}

shinyApp(ui = ui, server = server)

-输出

enter image description here

关于R Shiny - 如何在 selectInput 中显示选择标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48106504/

相关文章:

r - 为r中数据框中的每一行选择最低5个值的colnames

r - 如何更有效地将嵌套列表展平为一个列表而不是使用 unlist 方法?

r - 使用 lapply 最大化网格上的函数

css - 将 R Shiny showNotification 移动到屏幕中央

r - 在 Shiny 中制作响应式(Reactive)全局变量

R Shiny 在多个选项卡上同步过滤器

在 Windows Server 2012 上从 R 运行 Linux 命令

R/考试 : prevent page breaks between two paragraphs in exams2nops

R Shiny 组按钮,具有单独的悬停下拉选择

r - 向 Shiny figure 添加多个 react 性 geom_lines