我正在构建一个闪亮的应用程序,我需要根据用户输入对数据框进行子集化。我已经尝试了很多不同的方法来做到这一点,但我一直遇到错误。目前,这似乎是最简单的方法,但我收到以下错误:
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())
})
})
答案 0 :(得分:8)
首先,在subset
电话中,您可以跳过test$
(不是问题的原因):
subset(test, MARKET==var)
我怀疑你的问题是var
不是字符串,而是reactive
的输出。尝试使用var()
代替var
subset(test, MARKET==var())