2017-12-11 5 views
1

Ist es möglich, eine summarise nach der Verwendung von ggplot in einer Rohrleitung zu tun? Die Variable ist nicht von großer Bedeutung und ich betrachte die Änderung nur zu einem explorativen Zweck. Daher möchte ich die Variable nicht wirklich speichern.Verwenden von dplyr Funktionen in einem Rohr nach ggplot

df %>% 
     mutate(change = t2 - t1) %>% 
     ggplot(aes(x = change)) + 
     geom_histogram() %>% 
     summarise(mean_change = mean(change)) 

Error in UseMethod("summarise_") : no applicable method for 'summarise_' applied to 
an object of class "c('LayerInstance', 'Layer', 'ggproto')" 

Ist es möglich, ggplot Ausgang und machen einen summarise (zeigt den Mittelwert) im gleichen Rohr zu machen?

+0

Wenn Sie die 'str' nach dem geom_histogram betrachten, wird es ein ggplot-Objekt und nicht das ursprüngliche Objekt von' df' – akrun

+0

@akrun Danke. Ich erkannte, dass. Ist es jedoch möglich, die ggplot-Ausgabe UND eine 'summarise' in der gleichen Pipe zu rendern? – JetLag

+0

@Roland die Funktion 'hist' warf mir einen Fehler:' 'x' muss numerisch sein, also gab ich auf 'hist' auf ... Aber ggplot funktioniert gut – JetLag

Antwort

1

Ich weiß nicht, ob das genau das ist, was du suchst, aber deine Frage erinnert mich an die T-Pipe in magittr (Teil von dplyr und theidyverse), die ich in einem Online "R For Data Science "buchen Sie hier: http://r4ds.had.co.nz/pipes.html#other-tools-from-magrittr.

Mit dieser T-Pipe können Sie ggplot und weiter zusammenfassen, da die T-Pipe nicht das ggplot-Objekt zurückgibt, sondern das Objekt, das an ggplot übergeben wurde.

Verwandte Themen