我正在尝试将ui.r转换为Shiny中的HTML ui http://shiny.rstudio.com/articles/html-ui.html我不知道如何将以下代码从我的ui.r转换为HTML。
我有一个使用以下代码的下拉列表
selectInput("data","Choose A Section:", choices=Sections[,2])
下拉列表中的输入是根据我的服务器上加载的section变量生成的。 sections变量可能会不时变化。
我知道我可以粘贴所有部分并创建示例中使用的下拉菜单http://rstudio.github.io/shiny/tutorial/#html-ui
<label>Sections:</label><br />
<select name="dist">
<option value="Section1">Section1</option>
<option value="Section2">Section2</option>
<option value="Section3">Section3</option>
<option value="Section4">Section4</option>
</select>
但我不确定如何设置可能会在数据发生变化时更改的选项。是否有捷径可寻?
答案 0 :(得分:3)
虽然这不是最好的答案,但它可能会让你开始。在Shiny中,我上传了.csv文件,它将使用上传文件的标题名称动态更新下拉菜单。
在server.R中,我包含
observe({
infile <- input$datfile
print(infile)
if(is.null(infile))
return(NULL)
d <- read.csv(infile$datapath, header = T)
updateSelectInput(session, 'dropdown_1', choices = names(d))
updateSelectInput(session, 'dropdown_2', choices = names(d))
})
在ui.R中,我包括
selectInput('dropdown_1', '', ''),
selectInput('dropdown_2', '', '')
只要您可以指向数据源,我认为逻辑应该成立。例如,这将获取名为column1
data_set
的字段中的唯一项目。
observe({
data_set <- xxxxx
updateSelectInput(session, 'dropdown_menu', choices = unique(data_set$column1))
})