Mein ggvis-Diagramm hängt von mehreren Eingabefeldern ab, die wie Filter für Eingabedaten funktionieren. Für einige Kombinationen ist der resultierende Datenrahmen leer und ggvis wirft einen Fehler und bricht die gesamte Anwendung. Ich versuchteRichtiger Weg von ggvis zurückzukehren, wenn die Daten leer sind?
if(nrow(inputdataframe) == 0) return NULL
if(nrow(inputdataframe) == 0) return ggvis()
zu setzen, die nicht geholfen haben. Was ist der richtige Rückgabeparameter in dieser Situation (Ich möchte stattdessen eine leere Handlung oder eine Textnachricht haben)?
server.R
effvis <- reactive ({
dta <- siteeff()
if(nrow(dta) == 0) return(NULL)
dta %>%
ggvis(~param.value, ~yvar) %>%
layer_points(size := 50, size.hover := 200) %>%
set_options(width = 800, height = 500)
})
effvis %>% bind_shiny("effplot")
ui.R -
ggvisOutput("effplot")
aktualisieren
Ich möchte nicht alle Daten zeigen, wenn Daten leer ist (wie here vorgeschlagen) Es ist verwirrend
Das interessiert mich auch. Ich füge nur einen Datenrahmen mit den gleichen Spalten und Nullen bedingt ein. Sie sollten 'conditionalPanel' in ui.R verwenden können, das eine reaktive Zeichenfolge anzeigt, die angibt, ob data.frame leer ist, aber in meinem Fall nicht immer funktioniert. – ideamotor
Ihr "hier" Link war mir in der Vergangenheit hilfreich. Ich würde auch den Link zu der App sehen, die sie in den Kommentaren bearbeitet hat. Haben Sie in Ihrem UI Eingabesteuerungen? Sie sollten testen, dass diese in server.r – miles2know
@ miles2know Dank für das Zeigen auf Kommentare vorhanden sind. In der Tat schaute ich auf ihren Code und fand validate() -Funktion, die ich nicht kannte - http://shiny.rstudio.com/articles/validation.html Aber immer noch scheint es nicht zu arbeiten ggvis – RInatM