R Shiny反应子集数据 - “闭包”类型的ERROR对象不是子集

时间:2015-04-12 22:58:54

标签: r shiny

我正在尝试制作一个反应数据子集,以避免在分析的每个阶段进行子集化。但是我得到错误类型'闭包'的对象不是子集。我已经看到了以前的答案,我避免使用base-R函数。

library(shiny)

shinyServer(function(input, output) {

    data_all <- read.csv("data/usage_data.csv")

    data_user <- reactive({
    subset(data_all, data_all$consumername %in% input$user)
    })

    output$distPlot <- renderPlot({    
        #data_user <- subset(data_all, data_all$consumername %in% input$user)
        data_user$date <- as.Date(data_user$date)

        stats$mean <- mean(data_user$usage_TB)
        stats$sd <- sd(data_user$usage_TB)

        pp <- ggplot(data_user, aes(date,usage_TB)) + geom_line() + xlim(input$dates) 
        pp + geom_hline(yintercept = stats$mean, color = "red")

    })

    output$mean <- renderPrint({
        #data_user <- subset(data_all, data_all$consumername %in% input$user)
        mean(data_user$usage_TB)
    })
    output$sd <- renderPrint({
        #data_user <- subset(data_all, data_all$consumername %in% input$user)
        sd(data_user$usage_TB)
    })
    output$p75 <- renderPrint({
        #data_user <- subset(data_all, data_all$consumername %in% input$user)
        quantile(data_user$usage_TB,0.75)
    })
})

如果我在每个步骤制作子集t我没有问题,但我认为使子集反应应该更好。

1 个答案:

答案 0 :(得分:1)

https://groups.google.com/forum/#!msg/shiny-discuss/p2eElm-XaqQ/y3vB4l3tt3EJ

重新询问并回答了问题

基本上,他们建议

data_user <- reactive({ 
    df <- subset(data_all, data_all$consumername %in% input$user)
    df$date <- as.Date(data_user$date)
    df
})

没有足够的代表添加评论,我认为这对其他人有用 - 这对我来说。