R Shiny - 基于无功输入的子集数据帧

Mak*_*irt 4 r shiny

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

is.na(e2)中的警告:is.na()应用于'闭包'类型的非(列表或向量)错误==.default(test $ 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())
  })
})
Run Code Online (Sandbox Code Playgroud)

mat*_*fee 8

首先,在subset通话中你可以跳过test$(不是问题的原因):

subset(test, MARKET==var)
Run Code Online (Sandbox Code Playgroud)

我怀疑你的问题是var不是一个字符串,它是输出reactive.尝试使用var()而不是获取值var

subset(test, MARKET==var())
Run Code Online (Sandbox Code Playgroud)