2014-12-05 130 views
2

第一次和第一次使用Shiny和ggplot2,所以請忍受我。我無法讓ggplot將輸入$變量解釋爲group =選項的值。我在這SO post找到了一些指導,但無法完成它的工作。我在下面粘貼了我的代碼的簡化版本,這會產生「未找到輸入」錯誤。任何想法如何解決?閃亮和ggplot - 使組的麻煩=反應

ui.r

library(markdown) 

shinyUI(navbarPage("Shiny: First App", 
     tabPanel("Annual Trends", 
       verticalLayout(
         titlePanel("Annual Subscriptions Data"), 

         selectInput("dim", 
          label = "Dimension of Interest", 
          choices = c("location", "package", 
             "section", "price.level", "no.seats"), 
          selected = "location"), 

         plotOutput("plot"), 
        ) 
       ) 
    ) 
) 

server.R

library(shiny) 
library(ggplot2) 

subscriptions = read.csv("data/subscriptions.csv") 

shinyServer(function(input, output, session) { 

output$plot <- renderPlot({ 
     ggplot(subscriptions, aes(x = season)) + 
     geom_freqpoly(aes(x = season, group=input$dim, colour=input$dim)) 
    }) 
}) 
+0

它看起來像'plotOutput(「plot」)''後有一個額外的逗號。如果在刪除多餘的逗號後它仍然不起作用,您應該發佈一些示例數據,以便我們可以幫助您。 – shadow 2014-12-05 09:16:31

回答

2

嘗試使用aes_string()代替aes(),使之正確評價input$dim

output$plot <- renderPlot({ 
    ggplot(subscriptions, aes(x = season)) + 
    geom_freqpoly(aes_string(x = "season", group=input$dim, colour=input$dim)) 
})