我试图在Shiny中创建一个下拉选择器。 Shiny教程在ui.r中有这段代码:
selectInput("var",
label = "Choose a variable to display",
choices = c("Percent White", "Percent Black",
"Percent Hispanic", "Percent Asian"),
selected = "Percent White"),
如果我进入RStudio并写道:
myVar = c("Percent White", "Percent Black",
"Percent Hispanic", "Percent Asian")
myVar的类型为chr。
在我的项目中,我想在server.r中加载.RData对象。我跑的时候:
mydata = load("myDataFile.RData")
mydata的类型为chr,包含.RData文件中所有对象的名称。
我想从mydata中的所有内容(我的.RData文件中的对象名称)中选择一个下拉列表。我将此mydata列表从server.r传递给ui.r时遇到问题。
如果我在server.r中做任何事情,比如
output$myChoices = c(mydata)
output$mydat = mydata
和ui.r一样
choices = mydata,
choices = output$mydata,
or choices = "mydata",
我要么认为它不能识别mydata,要么下拉列表中唯一可用的选择就是" mydata。"
此外,以下内容成功打印出mydata中的所有对象:
#server.r:
output$text4 <- renderText({
paste(mydata)
})
#ui.r:
textOutput("text4"),
如何&#34; mydata&#34;将字面打印&#34; mydata,&#34;但这是打印文本的语法。
同样,我想要下拉选择mydata中的所有内容。
非常感谢你的帮助!
答案 0 :(得分:0)
创建selectInput
所需的所有信息都在server.R
部分,因此您可以使用uiOutput
/ renderUi
在那里创建。
您可以在uiOutput("select_data")
和ui.R
中添加server.R
:
output$select_data <- renderUi({
selectInput("choose_data",
label = "Choose data",
choices = mydata
})
然后,您可以使用server.R
input$select_data
中选择的内容