在 Shiny 中引用具有反应性输入变量的列

referencing a column with reactive input variable in Shiny

尝试在 Shiny 中使用 lm 函数使用输入变量值来引用 "results" 数据框中的指定列。我已经在控制台中对此进行了测试并且它工作正常但是当我实际上 运行 应用程序时却没有。

我不认为所有代码都是必要的(但如果需要我会很乐意包含更多代码)所以这里是 server.r:

中的重要部分
compareVar2 <- reactive({
    if(input$compareVar2 == 'first'){
        return (results$firstPostScore)
    }else if(input$compareVar2 == 'last'){
        return (results$lastPostScore)
    }else if(input$compareVar2 == 'avg'){
        return (results$avgPostScore)
    }else {return (results$avgPostScore)} #just as a fall-back default

output$analysis <- renderPrint({
    analysis <- lm(preScore ~ compareVar2, data = results)
    return (summary(analysis))
})

我收到以下错误消息:
model.frame.default(公式 = preScore ~ compareVar2,数据 = 结果,: 变量 'compareVar2'

的无效类型(闭包)

我似乎在任何地方都找不到与此相关的任何内容:-/

谢谢!

compareVar2 是一个函数,因此您应该将其称为 compareVar2():

analysis <- lm(preScore ~ compareVar2(), data = results)