首页 文章

如何使用变量来获得Shiny中的Input $?

提问于
浏览
2

我是R的新手,我正在创建一个闪亮的应用程序来读取csv和过滤数据 . 我正在读取csv文件,然后使用列名和唯一值创建带循环的下拉列表:

output$dropdowns <- renderUI({
            if (is.null(x())) {
              return(NULL)
            }
            lapply(1:ncol(x()), function(i) {
              selectInput(names(x()[i]), names(x()[i]), c("ALL", unique(as.character(x()[,i]))))
            })

我现在正试图根据用户的输入过滤数据 . 为了得到输入,我试图遍历名称( names(x)[i] ),这是selectinput的ID并获取值 . 但每当我使用 input$names(x)[i] 时,我都会收到以下错误:

Error: attempt to apply non-function.

我试图使用实际的 Headers (例如输入$ testHeader)测试这个,这很好 . 但是当我尝试对变量做同样的事情时,例如:

a < - "testHeader"
            print(input$a).

这返回NULL . 我假设它正在寻找ID为“a”的selecinput而无法找到它 . 但是我没有想到怎么办?

任何帮助都会很棒 .

谢谢 .

1 回答

  • 2

    input 只是一个reactivevalues对象,因此您可以使用 [[

    print(input[[a]])
    

相关问题