2016-07-23 20 views
0

Ich habe ein data.frame, das 4 Spalten mit 7 Zeilen enthält. Unten sind die Beispieldaten (Spaltenname ist in Großbuchstaben und Daten sind in Kleinbuchstaben).Wie ändert man das Diagramm dynamisch von der glänzenden App in R?

Beispieldaten:

NAME. COUNT MONTH COUNTRY 
ram  20. jan India 
ranjith 40. jan India 
azhar  80. feb India 
chris  20 feb US 
rakesh 60. jan US 
mano.  90. mar. UK 
Ron.  37. mar. uk 

So in ui.R Ich habe zwei selectinputs erstellt. Einer ist mit der COUNTRY-Spalte und der andere ist mit der MONTH-Spalte.

Wenn ich die ersten selectinput wie Indien und zweiten selectinput als Januar erste zwei Zeilen auswählen sollten in glänzendem app als Name in der X-Achse (dh horizontal) und COUNT in y-Achse (dh senkrecht) mit Balkendiagramm angezeigt werden.

Und wenn ich Indien im ersten Selektinput und dann im zweiten Selektinput Feb wählen. Jetzt muss nur noch die dritte Zeile mit der genannten x-Achse und y-Achse erscheinen. Inzwischen müssen die Ergebnisse auch für andere Zeilen erstellt werden.

Wenn COUNTRY als UK ausgewählt und MONTH als jan ausgewählt wird, dann sollte Diagramm nicht erstellt bekommen. Weil wir keine Aufnahme mit UK und Jan Kombination haben.

Kann jemand den Code von ui.R und server.R teilen?

+0

Ich frage mich, was Sie versucht haben, weil dies ziemlich einfach ist. Sehen Sie sich 'renderTable' oder' renderDataTable' an und verwenden Sie die normale Filterfunktion in 'server.R', um Daten auszuwählen, die in' ui.R' angezeigt werden sollen. – Psidom

+0

Psidom..Ich bin neu in R-Programmierung..kann den Code von ui.R teilen, Server.R, wenn möglich –

+0

Kannst du deine 'ui.R' und' server.R' einfügen, die du ausprobiert hast? – Psidom

Antwort

0

Je nachdem, was Sie haben, sind Sie sehr nah an dem, was Sie wollen. Nur müssen die reactive Funktion, um dynamisch den Wert von den Eingängen zu erfassen und rendern Ausgang entsprechend:

ui.R

require(shiny) 
shinyUI(fluidPage( 
    titlePanel("sample data"), 
    sidebarPanel( 
     selectInput("COUNTRY", "select country", choices=c("India","US", "UK"), selected ="India"), 
     radioButtons("MONTH","select MONTH", choices=c("jan","feb")) 
     ), 
    mainPanel(plotOutput("plot")) 
    ) 
    ) 

server.R

als eine Ressource, die shiny cheat sheet könnte hilfreich sein.

+0

Vielen Dank psidom..wll implementieren Sie Ihre Lösung und lassen Sie die Details wissen –

+0

Warnung in validateSelected (ausgewählt, Auswahl, inputId): 'ausgewählt' müssen die Werte anstelle von Namen von 'Auswahlmöglichkeiten' für den Eingang 'COUNTRY' sein Warnung in min (wl): keine nicht fehlenden Argumente zu min; Rückkehr Inf Warnung in max (w.r): keine nicht fehlenden Argumente zu max; Rückgabe -Inf Warnung in min (x): keine nicht fehlenden Argumente zu min; Rückkehr Inf Warnung in max (x): keine nicht fehlenden Argumente zu max; Rückgabe -Inf Warnung: Fehler in plot.window: brauche endlich 'xlim' Werte Stapelspur (innerste zuerst): 79: plot.window 78: barplot.default –

+0

Psidom .. der Code, den Sie vorgeschlagen, wirft das obige error.can u plz schlägt mir vor, wie man fortfährt .. es gibt keine N/A-Werte in meinem IP-Datenrahmen –