闪亮的应用程序:从上传的文件中获取输入选择

时间:2014-08-13 16:00:59

标签: r shiny shiny-server

我尝试使用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

1 个答案:

答案 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)
}