基于反应式输入的R-子集数据帧

基于反应式输入的R-子集数据帧,r,shiny,R,Shiny,我正在构建一个闪亮的应用程序,我需要根据用户输入对数据帧进行子集。我已经尝试了很多不同的方法来做这件事,但我总是遇到错误。目前,这似乎是最简单的方法,但我得到以下错误: is.na(e2)中的警告:is.na()应用于“closure”类型的非-(列表或向量) ==中出错。默认值(测试$MARKET,var):比较(1)仅适用于原子类型和列表类型 我被卡住了。有人给我一些指导吗?谢谢 library(shiny) shinyServer(function(input, output) {

我正在构建一个闪亮的应用程序,我需要根据用户输入对数据帧进行子集。我已经尝试了很多不同的方法来做这件事,但我总是遇到错误。目前,这似乎是最简单的方法,但我得到以下错误:

is.na(e2)中的警告:is.na()应用于“closure”类型的非-(列表或向量)
==中出错。默认值
(测试$MARKET,var):比较(1)仅适用于原子类型和列表类型

我被卡住了。有人给我一些指导吗?谢谢

library(shiny)

shinyServer(function(input, output) {

      var <- reactive({input$var})

      subsetTest <- subset(test, test$MARKET==var)

      y <- subsetTest()$PRICE
      x <- subsetTest()$DATE

  output$ngplot <- renderPlot({
    print(ggplot(data=subsetTest(), aes(x=y, y=x)) + geom_line())
  })
})
库(闪亮)
shinyServer(功能(输入、输出){

var首先,在
子集
调用中,您可以跳过
测试$
(不是问题的原因):

我怀疑您的问题在于
var
不是字符串,而是
reactive
的输出。请尝试使用
var()
而不是
var
获取值

subset(test, MARKET==var)
subset(test, MARKET==var())