2016-05-20 10 views
0

Building from my last post selectInputを使用して、プロットしたい範囲でプロットすることができます。R/Shiny/ggplot2:特定のデータをプロットするcheckboxGroup

私のデータは次のようになります。

Year Ratio Region 
1983 Q1 2.9 Northern 
1983 Q2 3 Northern 
1983 Q3 3.1 Northern 
1983 Q4 3 Northern 
... 
2015 Q2 5.1 UK 
2015 Q3 5.1 UK 
2015 Q4 5.2 UK 
2016 Q1 5.2 UK 

server.Rは私のデータが入っているよう

houseratio <- read.csv("houseratio.csv", stringsAsFactors = FALSE) 

output$housePlot <- renderPlot({ 
ggplot(data=houseratio[,input$region_choose], aes(x=Year, y=Ratio, group=Region, colour=Region)) + 
    geom_line() + 
    geom_point() 
}) 

ui.rはちょっと助け

checkboxGroupInput("region_choose", label = "Choose a region", 
      choices = c("The North"="Northern", "Yorkshire & Humber" = "Yorks & H", 
         "North West"="NW","East Midlands"="East Mids", 
         "West Midlands"="West Mids", "East Anglia"="East Anglia", 
         "Outer South East"="Outer SE", "Outer Met"="Outer Met", 
         "London"="London", "South West"="SW", "Wales"="Wales", 
         "Northern Ireland"="NI", "UK"="UK") 
     ), 

    plotOutput("housePlot") 
) 

This postthis postスニペットが、スニペット長い形式では動作していないようです(selectInputでもwehでもあるからです)。

何か重要なことを見逃してしまったら、何か助けてもらえますか?それは何ですか?

+0

例を参照してくださいには、エラーを返します: '警告:エラー1832,0: スタックトレース(最も内側のもの): 68:出力$ housePlot 1:runApp' – gizzard

+0

申し訳ありませんが、私はどのように知っているのか分かりませんこれを行うには...より具体的になることができますか? – gizzard

答えて

1

1)私は2に、より良いdevide問題)あなたの

data=houseratio[houseratio$region%in%input$region_choose,] 

2を試しフィルターに問題があると思う:データの操作とプロットは

library(shiny) 
library(ggplot2) 
ui=shinyUI(fluidPage(checkboxGroupInput("region_choose", label = "Choose a region", 
           choices = c("setosa","versicolor","virginica") 
), 

plotOutput("housePlot") 
)) 

server=function(input,output){ 
    #data manipulation 
    data_1=reactive({ 
    return(iris[iris$Species%in%input$region_choose,]) 
    }) 
    #plot 
    output$housePlot <- renderPlot({ 
    ggplot(data=data_1(), aes(x=Sepal.Length, y=Petal.Width, group=Species, colour=Species)) + 
     geom_line() + 
     geom_point() 
    }) 
} 

shinyApp(ui,server) 
+0

これは完全に機能しました。だから問題は私がデータを反応性のあるものとして指定していないということでしたか? – gizzard

+0

いいえ、私は問題がフィルタにあったと思います。 'ggplot(data = iris [iris $種別%入力$ region_choose、aes(x = Sepal.Length、y = Petal.Width、group =種、色=種))'もうまくいきます。 – Batanichek

+0

Iあなたの助けを借りて、別のプロジェクトでこの効果を再現することができました! – gizzard

関連する問題