我正在尝试使用 Shiny 从文件中获取数据并使用这些数据来填充列表。
这个过程非常标准。在 server.R 文件上,我通过读取 csv 文件得到一个名为“list”的向量。我希望能够使用selectInput()
函数从该向量中选择值。所以我放了一个观察循环来检查文件是否已上传,如果正确,list
则创建。
observe({
inFile<-input$DATA
if(!is.null(inFile)){
data = read.table(inFile$datapath, header=T,sep=";")
list=unique(data$SLE)
}else{
list=NULL
}
})
我selectInput()
是这样的:
output$SLE = renderUI({ selectInput('SLE1', label='Choose the item :', levels(list)) })
如果我将 放在selectinput()
观察循环中,则选择框运行良好,只是每次执行观察循环时,都会重置选择框。所以,这不是一个解决方案。
如果我将选择框留在观察循环之外,list
即使加载了数据文件,也会保留默认值。
我试图设置list
为反应值,但没有成功。我该如何设置list
?