2017-12-11 4 views
1

パイプでggplotを使用した後にsummariseを実行することはできますか?変数はあまり重要ではなく、私は探索的な目的のために変化を見ているだけです。したがって、私は本当に変数を保存する必要はありません。ggplotの後のパイプでのdplyr関数の使用

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')" 

それはggplot出力をレンダリングし、同じパイプで(平均を示す)summariseを行うことは可能ですか?

+0

geom_histogramの後の 'str'を見ると、ggplotオブジェクトであり、' df'の元のオブジェクトではありません – akrun

+0

@akrunありがとう。私はそれを実感した。しかし、ggplotの出力を同じパイプ内で 'summarize'することは可能ですか? – JetLag

+0

@Roland関数 'hist'は私にエラーを投げました:' 'x 'は数値でなければならない' 'hist'をあきらめました...しかしggplotはうまく動作します – JetLag

答えて

1

これはまさにあなたが探しているものなのかどうかわかりませんが、あなたの質問は私がオンラインで見つけたmagittr(dplyrとtidyverseの一部)のTパイプを思い出させます。データサイエンス "本:http://r4ds.had.co.nz/pipes.html#other-tools-from-magrittr

Tパイプはggplotオブジェクトではなくggplotに渡されたオブジェクトを返すので、このTパイプではggplotを行い、要約を続けることができます。

関連する問題