2015-04-12 2 views
1

Я пытаюсь создать подмножество реактивных данных, чтобы избежать подмножества на каждом этапе анализа. Однако я получаю ошибку объект типа «замыкание» не является подмножеством. Я видел предыдущие ответы и избегаю использовать функции base-R.R Блестящие реактивные данные подмножества - объект ERROR типа «замыкание» не является подмножеством

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

Найдено вопрос был вновь спросил и ответил на 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 
}) 

достаточно не респ чтобы добавить комментарий, и я думал, что это будет полезно для других - это было для меня.

Смежные вопросы