我试着做一个这样的选择菜单:
交互式地更改selectInput选项
一切都很好,除了一件事:相反,为了获得值(像McDonald一样),我获得了索引,尽管我没有做任何不同的事情(见下面的图片链接)。我哪里出错了?
图片这里是我的全局。R:
partners<- read.csv("genes.csv", header=TRUE, fill=TRUE)
服务器。R
shinyServer(function(input, output) {
#subTable
searchResult<- reactive({
subset(partners, grepl(input$nameSearch, partners$name))
})
output$searchResults <- renderTable({
searchResult()[,1]
})
output$selectUI <- renderUI({
selectizeInput("partnerName", "Click in and select", choices=searchResult()[,1], multiple=TRUE )
})
})
ui。R
library(shiny)
shinyUI(pageWithSidebar(
# Give the page a title
titlePanel("Tilte"),
sidebarPanel(
textInput("nameSearch", "Search for name", "Blah"),
htmlOutput("selectUI"),
br(),
submitButton("Update View"),
br()
),
# Create a spot for the barplot
mainPanel(
textOutput("text"),
plotOutput("plot")
)
)
)
我认为你得到的不是索引,而是因子的整数表示。检查partners[,1]
的类别。试着
output$selectUI <- renderUI({
selectizeInput("partnerName", "Click in and select",
choices=as.character(searchResult()[,1]), multiple=TRUE )
})
您也可以在读取数据时添加stringsAsFactors=FALSE
选项