2017-08-13 1 views
0

Ich versuche, eine Karte zu erstellen, die von der ausgewählten Eingabe mit glänzend abhängt. Ich habe alle Beispiele durchgegangen, aber aus irgendeinem Grund scheint mir mein Code richtig zu sein, aber offensichtlich fehlt etwas, weil es nicht funktioniert. Das Ui scheint gut zu funktionieren, weil es die Slidebars erzeugt, die ich will, aber es macht keine Karten mit den abhängigen Eingaben. Jede Hilfe würde sehr geschätzt werden!Wählen Sie Eingabe funktioniert nicht für die Herstellung von verschiedenen Plots in R Shiny

Hier ist meine Daten:

> 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 

Und hier ist mein Code:

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) 

Jede Hilfe wird sehr geschätzt !!!

Antwort

0

Ich habe ein reproduzierbares Beispiel mit Ihrem Code erstellt. Das ui scheint tatsächlich in Ordnung zu sein, auf die Eingabeänderung zu reagieren. Plot ändert, ob Event eins, zwei oder drei ausgewählt ist. Ich hatte meinen UI- und Servercode definiert (ui = shinyUI (fluidPage (...)) und server = shinyServer (Funktion (Eingabe, Ausgabe) {...}))). Ich habe auch oben eine Bibliothek (rworldmap) hinzugefügt, damit das Paket beim nächsten Start der App in die Umgebung geladen wird.

Einige Funktionen in Ihrem Code werden möglicherweise von einem anderen Paket in Ihrer Umgebung maskiert (versuchen Sie, R Session neu zu starten). Sie können auch versuchen, die CSV-Datei außerhalb des ui- und Server-Codes zu lesen. Schließlich, vielleicht versuchen Sie, speichern Sie die CSV-Datei als eine RDA und laden Sie dann die RDA (um zu testen, ob dies ein mögliches Datei lesen Problem ist).

Sehen Sie, ob dies hilft und folgen Sie mit weiteren Fragen!

+0

Vielen Dank !! Es funktionierte!! Wenn ich R-Sitzung neu startete und nur diese Pakete lud, funktionierte alles gut. Nochmals vielen Dank! – ipekcinar

Verwandte Themen