Il mio grafico ggvis dipende da diversi campi di input che funzionano come filtri per i dati di input. Per alcune combinazioni il frame dati risultante è vuoto e ggvis genera un errore e interrompe l'intera applicazione. Ho provato a mettereUn modo corretto per tornare da ggvis quando i dati sono vuoti?
if(nrow(inputdataframe) == 0) return NULL
if(nrow(inputdataframe) == 0) return ggvis()
che non ha aiutato. Qual è il parametro di ritorno corretto in questa situazione (voglio invece avere una trama vuota o qualche messaggio di testo)?
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")
Aggiornamento
Io non voglio mostrare tutti i dati quando i dati è vuoto (come suggerito here) È confuso
Sono interessato anche a questo. Nutro solo condizionatamente un data.frame con le stesse colonne e zeri. Dovresti essere in grado di usare 'conditionalPanel' in ui.R che guarda una stringa reattiva che indica se data.frame è vuoto, ma non sempre funziona nel mio caso. – ideamotor
Il tuo link "qui" mi è stato utile in passato. Controllerei anche il link all'app che ha funzionato nei commenti. Hai comandi di input nel tuo ui? Dovresti testare che esistono sul server.r – miles2know
@ miles2 grazie per aver indicato i commenti. Infatti, ho guardato il suo codice e trovato la funzione validate(), che non sapevo - http://shiny.rstudio.com/articles/validation.html Ma ancora, non sembra funzionare per ggvis – RInatM