[R] Define pch and color based on two different columns

Duncan Mackay du|c@|m@ @end|ng |rom b|gpond@com
Thu Apr 11 01:04:54 CEST 2019


Hi

Here is the caveat
If you want to repeat it with loess? or panel loess something else that is
not groups aware  (I have not checked to see if it has been up dated) have a
look at

https://stat.ethz.ch/pipermail/r-help/2010-August/250050.html

Regards

Duncan Mackay

Duncan Mackay
Department of Agronomy and Soil Science
University of New England
Armidale NSW 2350


-----Original Message-----
From: R-help [mailto:r-help-bounces using r-project.org] On Behalf Of Matthew
Snyder
Sent: Wednesday, 10 April 2019 15:03
To: Peter Langfelder
Cc: r-help
Subject: Re: [R] Define pch and color based on two different columns

You are not late to the party. And you solved it!

Thank you very much. You just made my PhD a little closer to reality!

Matt



*Matthew R. Snyder*
*~~~~~~~~~~~~~~~~~*
PhD Candidate
University Fellow
University of Toledo
Computational biologist, ecologist, and bioinformatician
Sponsored Guest Researcher at NOAA PMEL, Seattle, WA.
Matthew.Snyder6 using rockets.utoledo.edu
MSnyder424 using gmail.com



[image: Mailtrack]
<https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=sig
naturevirality5&>
Sender
notified by
Mailtrack
<https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=sig
naturevirality5&>
04/09/19,
10:01:53 PM

On Tue, Apr 9, 2019 at 9:37 PM Peter Langfelder <peter.langfelder using gmail.com>
wrote:

> Sorry for being late to the party, but has anyone suggested a minor
> but important modification of the code from stack exchange?
>
> xyplot(mpg ~ wt | cyl,
>           panel = function(x, y, ..., groups, subscripts) {
>               pch <- mypch[factor(carb)[subscripts]]
>               col <- mycol[factor(gear)[subscripts]]
>               grp <- c(gear,carb)
>               panel.xyplot(x, y, pch = pch, col = col)
>           }
> )
>
> From the little I understand about what you're trying to do, this may
> just do the trick.
>
> Peter
>
> On Tue, Apr 9, 2019 at 2:43 PM Matthew Snyder <msnyder424 using gmail.com>
> wrote:
> >
> > I am making a lattice plot and I would like to use the value in one
> column
> > to define the pch and another column to define color of points.
Something
> > like:
> >
> > xyplot(mpg ~ wt | cyl,
> >        data=mtcars,
> >        col = gear,
> >        pch = carb
> > )
> >
> > There are unique pch points in the second and third panels, but these
> > points are only unique within the plots, not among all the plots (as
they
> > should be). You can see this if you use the following code:
> >
> > xyplot(mpg ~ wt | cyl,
> >        data=mtcars,
> >        groups = carb
> > )
> >
> > This plot looks great for one group, but if you try to invoke two groups
> > using c(gear, carb) I think it simply takes unique combinations of those
> > two variables and plots them as unique colors.
> >
> > Another solution given by a StackExchange user:
> >
> > mypch <- 1:6
> > mycol <- 1:3
> >
> > xyplot(mpg ~ wt | cyl,
> >           panel = function(x, y, ..., groups, subscripts) {
> >               pch <- mypch[factor(carb[subscripts])]
> >               col <- mycol[factor(gear[subscripts])]
> >               grp <- c(gear,carb)
> >               panel.xyplot(x, y, pch = pch, col = col)
> >           }
> > )
> >
> > This solution has the same problems as the code at the top. I think the
> > issue causing problems with both solutions is that not every value for
> each
> > group is present in each panel, and they are almost never in the same
> > order. I think R is just interpreting the appearance of unique values as
> a
> > signal to change to the next pch or color. My actual data file is very
> > large, and it's not possible to sort my way out of this mess. It would
be
> > best if I could just use the value in two columns to actually define a
> > color or pch for each point on an entire plot. Is there a way to do
this?
> >
> > Ps, I had to post this via email because the Nabble site kept sending me
> an
> > error message: "Message rejected by filter rule match"
> >
> > Thanks,
> > Matt
> >
> >
> >
> > *Matthew R. Snyder*
> > *~~~~~~~~~~~~~~~~~*
> > PhD Candidate
> > University Fellow
> > University of Toledo
> > Computational biologist, ecologist, and bioinformatician
> > Sponsored Guest Researcher at NOAA PMEL, Seattle, WA.
> > Matthew.Snyder6 using rockets.utoledo.edu
> > MSnyder424 using gmail.com
> >
> >
> >
> > [image: Mailtrack]
> > <
>
https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=sign
aturevirality5&
> >
> > Sender
> > notified by
> > Mailtrack
> > <
>
https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=sign
aturevirality5&
> >
> > 04/09/19,
> > 1:49:27 PM
> >
> >         [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> > and provide commented, minimal, self-contained, reproducible code.
>

	[[alternative HTML version deleted]]

______________________________________________
R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list