[R] Supplying names to vars() in ggplot2.

Rolf Turner r@turner @end|ng |rom @uck|@nd@@c@nz
Mon Nov 18 01:03:26 CET 2019


On 18/11/19 2:28 AM, Hadley Wickham wrote:

> See this new vignette in dev ggplot2: 
> https://ggplot2.tidyverse.org/dev/articles/ggplot2-in-packages.html
> 
> Hadley

Yes!  Thank you.  Bottom line:  for what I want to do the syntax is

facet_grid(row=vars(.data[[rowName]]),col=vars(.data[[colName]]))

Thanks again.

cheers,

Rolf

> On Saturday, November 16, 2019, Rolf Turner <r.turner using auckland.ac.nz 
> <mailto:r.turner using auckland.ac.nz>> wrote:
> 
> 
>     I need to call ggplot() from another function with the names of the
>     faceting variables supplied as arguments to the calling function. 
>     These names (which are names of columns in the relevant data frame)
>     are given as character arguments, say "rowName" and "colName".
>     Suppose that rowName is equal to "clyde" and colName is equal to
>     "irving".
> 
>     I'd like to do something like
> 
>     ... + facet_grid(row=vars(rowName), col=vars(colName)) + ...
> 
>     but this does not work.  For instance, vars(rowName) gives
> 
>         [[1]]
>         <quosure>
>         expr: ^rowName
>         env:  global
> 
> 
>     I'd like to get the same thing as if I said vars(clyde) which gives
> 
>         <list_of<quosure>>
> 
>         [[1]]
>         <quosure>
>         expr: ^clyde
>         env:  global
> 
> 
>     There *must* be some magic arcane incantation that I can apply to
>     rowName (and colName) to get what I want.  Mustn't there?
> 
>     I tried things like vars(as.name <http://as.name>(rowName)) ---
>     nope, no help at all.
> 
>     Can anyone help me out?

-- 
Honorary Research Fellow
Department of Statistics
University of Auckland
Phone: +64-9-373-7599 ext. 88276



More information about the R-help mailing list