我尝试使用Shiny从文件中获取数据并使用此数据填充列表。
这个过程很标准。在server.R文件中,我得到一个名为' list'通过阅读csv文件。我希望能够使用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
即使加载了数据文件也会保留defaut值。
我已尝试将list
设为无效值,但并未取得成功。如何设置list
?
答案 0 :(得分:0)
您可以将选择输入放在UI.R本身的条件面板中,并且
使用函数代替“ choices =“,以检索数据框作为选择列表。
一个例子如下:
在ui.R中:
selectInput("id", "Select Employee:", get.Employee())
必需的功能:
get.Customers <- function(input){
# YOU CAN ENTER YOUR CODE IN HERE
df_input <- input$nr
return(df_input)
}