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

时间:2014-04-29 23:50:24

标签: 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())
  })
})

1 个答案:

答案 0 :(得分:8)

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

subset(test, MARKET==var)

我怀疑你的问题是var不是字符串,而是reactive的输出。尝试使用var()代替var

获取值
subset(test, MARKET==var())