2017-08-13 57 views
0

我正在嘗試創建一個將依賴於所選輸入並閃亮的地圖。我經歷了所有的例子,但由於某種原因,我的代碼似乎對我來說很正常,但顯然它的缺失是因爲它不工作。 UI似乎工作正常,因爲它產生我想要的滑動條,但是它沒有使用任何依賴於輸入的地圖。任何幫助將不勝感激!選擇輸入不適用於在R中產生不同圖塊Shiny

這裏是我的數據:

> datamap 
     Country.code EVENTONE EVENTTWO EVENTTHREE 
1 Bosnia and Herzegovina  11  1   5 
2    South Korea  1  4   4 
3    Philippines  1  5   6 
4    Indonesia  1  6   8 
5    Thailand  1  0   9 
6    Mongolia  1  0   3 
7  Russian Federation  1  0   4 
8     Ukraine  1  0   8 
9    Slovenia  1  0   5 
10    Mongolia  1  0   0 
11    Pakistan  1  0   0 
12    Bangladesh  1  0   0 

這裏是我的代碼:

library(shiny) 
library(ggplot2) 
shinyUI(fluidPage( 
    titlePanel(title="Events in the World"), 
    sidebarLayout(
    sidebarPanel(
      selectInput("var", "Choose Event:", 
         choices=c("Event One" = "EVENTONE", 
          "Event Two" = "EVENTTWO", 
          "Event Three" = "EVENTTHREE")) 
    ), 

    # Create a spot for the barplot 
    mainPanel(
     plotOutput("TheMap") 
     ) 
    ) 
    ) 
    ) 


shinyServer(function(input, output) { 

    datamap <- read.csv(".../Desktop/mapexcel1CSV.csv",    
    stringsAsFactors=FALSE, header=TRUE) 
    sPDF <- joinCountryData2Map(datamap, joinCode='NAME',  
    nameJoinColumn='Country.code') 


    output$TheMap <- renderPlot({ 
    mapPolys(sPDF, nameColumnToPlot= input$var 
         ,mapRegion="world", 
         missingCountryCol="dark grey", catMethod = 
         "fixedWith", numCats=20, 
         oceanCol="light blue")} 

) 
}) 

shinyApp(ui = ui, server = server) 

任何幫助是極大的讚賞!

回答

0

我用你的代碼創建了一個可重複的例子。在迴應輸入變化時,用戶界面似乎很好。繪圖更改是否選擇了事件1,2或3。我有我的ui和服務器代碼定義(ui = shinyUI(fluidPage(...))和server = shinyServer(function(input,output){...})))。我還在頂部添加了庫(rworldmap),以便下次運行該應用程序時將該包加載到環境中。

您的代碼中的某些功能可能被您環境中的另一個軟件包屏蔽(嘗試重新啓動R會話)。您也可以嘗試讀取ui和服務器代碼之外的csv文件。最後,也許嘗試將csv文件保存爲rda,然後加載rda(以測試這是否是可能的文件讀取問題)。

看看這是否有幫助,並跟進更多的問題!

+0

非常感謝你!有效!!當我重新啓動R會話並只加載這些包時,一切正常。再次感謝! – ipekcinar

相關問題