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

Jeff Newmiller jdnewm|| @end|ng |rom dcn@d@v|@@c@@u@
Wed Apr 10 05:18:14 CEST 2019


Maybe you should use factors rather than character columns.

On April 9, 2019 8:09:43 PM PDT, Matthew Snyder <msnyder424 using gmail.com> wrote:
>Thanks, Jim.
>
>I appreciate your contributed answer, but neither of those make the
>desired
>plot either. I'm actually kind of shocked this isn't an easier more
>straightforward thing. It seems like this would be something that a
>user
>would want to do frequently. I can actually do this for single plots in
>ggplot. Maybe I should contact the authors of lattice and see if this
>is
>something they can help me with or if they would like to add this as a
>feature in the future...
>
>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=signaturevirality5&>
>Sender
>notified by
>Mailtrack
><https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&>
>04/09/19,
>7:52:27 PM
>
>On Tue, Apr 9, 2019 at 4:53 PM Jim Lemon <drjimlemon using gmail.com> wrote:
>
>> Hi Matthew,
>> How about this?
>>
>> library(lattice)
>> xyplot(mpg ~ wt | cyl,
>>        data=mtcars,
>>        col = mtcars$gear,
>>        pch = mtcars$carb
>> )
>> library(plotrix)
>> grange<-range(mtcars$gear)
>> xyplot(mpg ~ wt | cyl,
>>        data=mtcars,
>>        col =
>> color.scale(mtcars$gear,extremes=c("blue","red"),xrange=grange),
>>        pch = as.character(mtcars$carb)
>> )
>>
>> Jim
>>
>> On Wed, Apr 10, 2019 at 7:43 AM 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=signaturevirality5&
>> >
>> > Sender
>> > notified by
>> > Mailtrack
>> > <
>>
>https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&
>> >
>> > 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.

-- 
Sent from my phone. Please excuse my brevity.



More information about the R-help mailing list