我目前正在建立一个仪表板在R光泽我希望用户能够从当前正在进行的实验列表中进行选择,这些实验将随着时间的推移而改变因此,它必须从一个数据帧(或类似的东西)中调用,该数据帧是由代码每天在列表开始和停止时生成的。
我有下面的当前代码,但是这提供了一个数字而不是名称,我假设它是对名称的引用,但是我不知道如何让它显示名称当我使用列表代码时,它不会像它所说的那样运行,我必须单独列出每个项(假设这与下面的用户类型类似)。
Testids目前是一个包含45个obs的数据帧共1个变量。
有什么解决办法吗?
提前谢谢
library("shiny")
新余(
带边栏的页面(
标题板(“草图划线”),
#测试类型的带过滤器的边栏
sidebarPanel(
selectInput("Test", "Experiment Name:",
c(Testids)
),
selectInput("User", "User Type:",
list("All users" = "All",
"Known users" = "KN",
"Unknown users" = "UN",
"New users" = "NW",
"Existing users" = "EX")),
最佳答案
据我所知,selectInput("Test", "Experiment Name:", c(Testids) )
将显示dataframeTestids
的条目,而不是列名,我认为这是您想要的使用names(dataframe)
用列名填充SelectInput
列表。
server <- function(input, output) {
output$distPlot <- renderPlot({
hist(mtcars[,input$Select], col = 'darkgray', border = 'white')
})
}
ui <- shinyUI(fluidPage(
sidebarLayout(
sidebarPanel(
selectInput('Select', 'Selection:', names(mtcars)),
selectInput("User", "User Type:",
list("All users" = "All",
"Known users" = "KN",
"Unknown users" = "UN",
"New users" = "NW",
"Existing users" = "EX"))
),
mainPanel(plotOutput("distPlot"))
)
))
shinyApp(ui = ui, server = server)