[R] How to understand the mentality behind tidyverse and ggplot2?

Duncan Murdoch murdoch@dunc@n @end|ng |rom gm@||@com
Fri Nov 20 10:27:00 CET 2020


On 18/11/2020 3:38 p.m., Duncan Murdoch wrote:
> On 17/11/2020 12:43 p.m., C W wrote:
>> Dear R list,
>>
>> I am an old-school R user. I use apply(), with(), and which() in base
>> package instead of filter(), select(), separate() in Tidyverse. The idea of
>> pipeline (i.e. %>%) my code was foreign to me for a while. It makes the
>> code shorter, but sometimes less readable?
> 
> Think of the pipe as pure syntactic sugar.  It doesn't really do
> anything, it just lets you write "f(g(x))" as "x %>% g() %>% f()" (where
> the parens "()" are optional).  Read it as "Take x and pass it to g();
> take the result and pass it to f()", which is exactly how you'd read
> "f(g(x))".  The pipe  presents it in the same order as in English, which
> sometimes makes it a bit easier to read than the mathematical notation.
> 
> There's a lot more to tidyverse ideas besides the pipe.  The overview is
> in the "Tidyverse Manifesto" (a vignette in the tidyverse package), and
> details are in Grolemund and Wickham's book "R for Data Science".

Whoops, I got the title wrong:  that's "The tidy tools manifesto".

Duncan Murdoch

> 
>>
>> With ggplot2, I just don't understand how it is organized. Take this code:
> 
> ggplot2 is much harder to understand, but Wickham's book "ggplot2:
> Elegant Graphics for Data Analysis" gives a really readable yet thorough
> description.
> 
>>
>>> ggplot(diamonds, aes(x=carat, y=price)) + geom_point(aes(color=cut)) +
>> geom_smooth()
>>
>> There are three plus signs. How do you know when to "add" and what to
>> "add"? I've seen more plus signs.
>>
>> To me, aes() stands for aesthetic, meaning looks. So, anything related to
>> looks like points and smooth should be in aes(). Apparently, it's not the
>> case.
> 
> Yes "aesthetic" was a really bad choice of word.
> 
>> So, how does ggplot2 work? Could someone explain this for an old-school R
>> user?
> 
> Not in one email, but hopefully the references (which are both available
> online for free, or in a bookstore at some cost) can help.
> 
> Duncan Murdoch
>



More information about the R-help mailing list