2016-12-15 1 views
0

Ich versuche, ggplot Ausgabe mit R Markdown Shiny Document zu erstellen. Ich brauche es, um Daten basierend auf der Auswahl in einem Dropdown-Menü darzustellen. Mein Code:Wählen Sie Eingabe in ggplot Shiny Dashboard - Fehler: Objekt nicht gefunden

df<- data.frame(df,out) 
renderRpivotTable({ 
rpivotTable(data = df, rows = c("organisationunitname","X2"), cols = "X1", vals = "value", 
      aggregatorName = "List Unique Values",inclusions = list(organisationunitname=list("All OUs")), 
      rendererName = "Lab Table", width = "100%", height = "500px") }) 

orgunit <- c("Cy3L", "Yieu", "j9ao", "H3LY", "U3nd", 
"qU1l", "jXVh", "dXHb", "tCq8", "Blee", "5jra", "qO2V", "Qa9J", 
"2XIy", "MJpY", "tNKa", "UorU", "7pZt", "Mxsz", "WCkd", "BiDp", 
"Zw8w", "0J7c", "9YtI", "TAkB", "py3Q", "RdQt", "Yhv1", "PB0X", 
"H3L4", "INY7", "DpTW", "3zXP", "OqpO", "tiZU", "5wnz") 

inputPanel(selectInput("OU", label = "Select OU:", choices = orgunit, selected = "All OUs")) 


renderPlot({ 
    df1=reactive({return(df[organisationunitname %in% as.character(input$OU)])}) 
    ggplot(data = df1(),aes(x=X1,y=value))+geom_bar(stat = "identity")+facet_grid(X2~.) 
}) 

Es gibt mir diese Fehlermeldung: Objekt 'organisationunitname' nicht gefunden Error Message

Meine Daten:

structure(list(country = c("Cy3L", "Yieu", "j9ao", "H3LY", "U3nd", 
"qU1l", "jXVh", "dXHb", "tCq8", "Blee", "5jra", "qO2V", "Qa9J", 
"2XIy", "MJpY", "tNKa", "UorU", "7pZt", "Mxsz", "WCkd", "BiDp", 
"Zw8w", "0J7c", "9YtI", "TAkB", "py3Q", "RdQt", "Yhv1", "PB0X", 
"H3L4", "INY7", "DpTW", "3zXP", "OqpO", "tiZU", "5wnz"), cd4_perform_result = structure(c(24L, 
6L, 7L, 1L, 1L, 1L, 5L, 3L, 2L, 1L, 10L, 1L, 2L, 8L, 1L, 2L, 
17L, 1L, 1L, 23L, 12L, 1L, 14L, 11L, 18L, 1L, 21L, 16L, 1L, 22L, 
19L, 4L, 1L, 15L, 20L, 9L), .Label = c("0", "1", "11", "125", 
"130", "14", "15", "194", "24", "261", "27", "31", "3442", "370", 
"4", "5", "51", "567", "577", "73", "76", "79", "796", "9", "end" 
), class = "factor"), cd4_participate_result = c(1, 8, 8, 1, 
1, 1, 5, 3, 2, 1, 7, 1, 2, 9, 1, 2, 17, 1, 1, 18, 12, 1, 4, 15, 
14, 1, 20, 16, 1, 21, 10, 6, 1, 19, 13, 3), cd4_pass_result = c(1, 
4, 19, 1, 1, 1, 5, 3, 2, 1, 21, 1, 2, 20, 1, 2, 13, 1, 1, 14, 
6, 1, 11, 12, 10, 1, 18, 2, 1, 16, 7, 17, 1, 15, 9, 3), eid_perform_result = c(2, 
1, 7, 1, 1, 1, 1, 9, 1, 1, 8, 1, 2, 3, 5, 2, 5, 1, 1, 10, 5, 
1, 4, 2, 11, 1, 5, 1, 1, 5, 9, 2, 1, 1, 9, 5), eid_participate_result = c(2, 
1, 5, 1, 1, 1, 1, 8, 1, 1, 7, 1, 2, 10, 5, 2, 5, 1, 1, 4, 2, 
1, 10, 2, 9, 1, 5, 1, 1, 5, 7, 2, 1, 1, 6, 5), eid_pass_result = c(2, 
1, 5, 1, 1, 1, 1, 7, 1, 1, 6, 1, 2, 10, 1, 2, 5, 1, 1, 4, 2, 
1, 9, 2, 8, 1, 5, 1, 1, 5, 6, 2, 1, 1, 5, 5), vl_perform_result = c(2, 
1, 3, 1, 1, 1, 1, 9, 1, 1, 10, 1, 2, 11, 5, 2, 5, 1, 1, 6, 5, 
1, 8, 7, 6, 1, 12, 1, 1, 5, 9, 2, 1, 1, 8, 5), vl_participate_result = c(2, 
1, 7, 1, 1, 1, 1, 7, 1, 1, 8, 1, 2, 8, 4, 2, 4, 1, 1, 5, 2, 1, 
4, 6, 3, 1, 9, 1, 1, 4, 7, 2, 1, 1, 6, 1), vl_pass_result = c(2, 
1, 7, 1, 1, 1, 1, 7, 1, 1, 9, 1, 2, 8, 1, 2, 5, 1, 1, 4, 2, 1, 
2, 6, 3, 1, 11, 1, 1, 5, 7, 2, 1, 1, 5, 1), hiv_perform_result = c(19, 
29, 14, 1, 1, 1, 26, 21, 10, 1, 6, 11, 9, 7, 20, 27, 8, 15, 1, 
28, 12, 1, 25, 18, 24, 1, 22, 5, 1, 23, 17, 16, 1, 2, 3, 4), 
hiv_participate_result = c(19, 28, 14, 1, 1, 1, 22, 20, 4, 
1, 16, 9, 10, 3, 12, 27, 5, 1, 1, 21, 6, 1, 24, 18, 13, 1, 
25, 8, 1, 23, 15, 17, 1, 2, 26, 7), hiv_pass_result = c(20, 
28, 14, 1, 1, 1, 18, 22, 7, 1, 17, 27, 11, 2, 24, 26, 10, 
1, 1, 15, 4, 1, 21, 19, 12, 1, 23, 8, 1, 16, 13, 9, 1, 3, 
25, 6), tbafb_perform_result = c(9, 1, 8, 1, 1, 1, 1, 7, 
1, 1, 6, 1, 21, 5, 1, 2, 12, 1, 1, 15, 13, 1, 17, 11, 20, 
1, 10, 1, 1, 14, 16, 4, 1, 18, 3, 1), tbafb_participate_result = c(1, 
1, 18, 1, 1, 1, 1, 5, 1, 1, 12, 1, 19, 11, 1, 2, 6, 1, 1, 
13, 7, 1, 10, 9, 14, 1, 8, 1, 1, 16, 15, 4, 1, 18, 3, 1), 
tbafb_pass_result = c(1, 1, 19, 1, 1, 1, 1, 6, 1, 1, 13, 
1, 20, 11, 1, 2, 4, 1, 1, 15, 5, 1, 7, 10, 12, 1, 8, 1, 1, 
16, 9, 3, 1, 14, 18, 1), tbculture_perform_result = c(3, 
1, 2, 1, 1, 1, 1, 1, 1, 1, 6, 1, 3, 8, 1, 2, 2, 1, 1, 7, 
3, 1, 5, 4, 7, 1, 5, 1, 1, 3, 6, 6, 1, 3, 3, 1), tbculture_participate_result = c(1, 
1, 2, 1, 1, 1, 1, 1, 1, 1, 6, 1, 4, 9, 1, 2, 2, 1, 1, 8, 
2, 1, 7, 5, 7, 1, 1, 1, 1, 4, 4, 6, 1, 4, 4, 1), tbculture_pass_result = c(1, 
1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 1, 4, 8, 1, 2, 2, 1, 1, 9, 
2, 1, 7, 5, 6, 1, 1, 1, 1, 4, 4, 7, 1, 4, 4, 1), tbxpert_perform_result = c(1, 
1, 4, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 17, 1, 8, 3, 1, 1, 5, 
9, 1, 16, 7, 13, 1, 4, 1, 1, 12, 11, 1, 1, 6, 14, 10), tbxpert_participate_result = c(1, 
1, 5, 1, 1, 1, 1, 1, 1, 1, 16, 1, 1, 4, 1, 12, 3, 1, 1, 2, 
7, 1, 17, 9, 11, 1, 1, 1, 1, 14, 10, 1, 1, 6, 8, 13), tbxpert_pass_result = c(1, 
1, 2, 1, 1, 1, 1, 1, 1, 1, 13, 1, 1, 4, 1, 9, 3, 1, 1, 15, 
6, 1, 14, 8, 8, 1, 1, 1, 1, 12, 6, 1, 1, 5, 7, 10)), .Names = c("organisationunitname", 
"cd4_perform_result", "cd4_participate_result", "cd4_pass_result", 
"eid_perform_result", "eid_participate_result", "eid_pass_result", 
"vl_perform_result", "vl_participate_result", "vl_pass_result", 
"hiv_perform_result", "hiv_participate_result", "hiv_pass_result", 
"tbafb_perform_result", "tbafb_participate_result", "tbafb_pass_result", 
"tbculture_perform_result", "tbculture_participate_result",   "tbculture_pass_result", 
"tbxpert_perform_result", "tbxpert_participate_result",  "tbxpert_pass_result" 
), row.names = c(NA, 36L), class = "data.frame") 

Ich bin nicht sicher, warum es nicht die "organisationunitname" lesen Säule. Bitte helfen Sie.

+1

Ich glaube nicht, dass Sie Ihren Datenrahmen korrekt untergliedern. Versuchen Sie 'df [df $ organisationseinheitenname% in% ...' – SymbolixAU

Antwort

0

Ich denke, Ihr Fehler ist diese Linie:

df1=reactive({return(df[organisationunitname %in% as.character(input$OU)])}) 

Ändern Sie es an:

df1=df[df$organisationunitname %in% as.character(input$OU),]) 

Sie auch die falsche Anzahl von Dimensionen haben und reactive ist hier nicht erforderlich, da der Ausdruck bereits in eine reaktive Funktion: renderPlot.

+0

Vielen Dank. Aber jetzt bekomme ich diesen Fehler: Fehler: nicht definierte Spalten ausgewählt Nicht sicher, was ich hier falsch mache. –

+0

Versuchen Sie, 'browser()' am Anfang von 'renderPlot' hinzuzufügen. Führen Sie dann Ihr Dokument mit 'rmarkdown :: run ('fileName.rmd')' aus. Dadurch erhalten Sie eine R-Befehlszeile in Ihrer RenderPlot-Umgebung. Dann können Sie sich df1 anschauen und sicherstellen, dass es alle für Ihren ggplot-Aufruf erforderlichen Spalten enthält. –

+0

Hallo! Ich habe das getan, und die Spalte existiert in df, aber ich bekomme den gleichen Fehler: nicht definierte Spalten ausgewählt. Könnte es sein, dass diese Spalte String-Werte als Faktoren hat? –

Verwandte Themen