R 在响应式selectinput中返回数据帧值

R 在响应式selectinput中返回数据帧值,r,shiny,R,Shiny,我试图在一个闪亮的应用程序中为数据框中的selectInput填充一个下拉列表,但似乎无法使其工作,下面是一个精简版本: datapr<-data.frame(type=c("Analog", "Digital", "Mixed Signal","Analog"),process=c("Bipolar","CMOS","BiCMOS","Bipolar"),funct=c("BJT","Mux","Mux","Regulator")) 我得到的是一个数字,而不是实际数据帧的条目,并且似乎

我试图在一个闪亮的应用程序中为数据框中的selectInput填充一个下拉列表,但似乎无法使其工作,下面是一个精简版本:

datapr<-data.frame(type=c("Analog", "Digital", "Mixed Signal","Analog"),process=c("Bipolar","CMOS","BiCMOS","Bipolar"),funct=c("BJT","Mux","Mux","Regulator"))
我得到的是一个数字,而不是实际数据帧的条目,并且似乎不能使用unname()、unique()、factor()、as.list()或任何直接的方法来按原样提取条目。在添加SelectizeInput之前,它就已经开始工作了。非常感谢您的帮助

这对我很有用:

用户界面

服务器.R

    library(shiny)
    datapr<-data.frame(type=c("Analog", "Digital", "Mixed Signal","Analog"),
                       process=c("Bipolar","CMOS","BiCMOS","Bipolar"),
                       funct=c("BJT","Mux","Mux","Regulator"))
    shinyServer(function(input,output,session){
            observe({
                    updateSelectInput(session,"process",
                                      choices=as.character(datapr$process[datapr$type==input$type]))
            })
    })
库(闪亮)
datapr这对我很有效:

用户界面

服务器.R

    library(shiny)
    datapr<-data.frame(type=c("Analog", "Digital", "Mixed Signal","Analog"),
                       process=c("Bipolar","CMOS","BiCMOS","Bipolar"),
                       funct=c("BJT","Mux","Mux","Regulator"))
    shinyServer(function(input,output,session){
            observe({
                    updateSelectInput(session,"process",
                                      choices=as.character(datapr$process[datapr$type==input$type]))
            })
    })
库(闪亮)

多谢各位。我遇到麻烦的简单解决方法。非常感谢。我遇到麻烦的简单的解决方法。
    library(shiny)
    datapr<-data.frame(type=c("Analog", "Digital", "Mixed Signal","Analog"),
                       process=c("Bipolar","CMOS","BiCMOS","Bipolar"),
                       funct=c("BJT","Mux","Mux","Regulator"))
    shinyServer(function(input,output,session){
            observe({
                    updateSelectInput(session,"process",
                                      choices=as.character(datapr$process[datapr$type==input$type]))
            })
    })