[R] Types in grouped multi-panel (lattice) xyplot
Aaron Arvey
aarvey at cs.ucsd.edu
Thu Apr 10 23:20:40 CEST 2008
On Thu, 10 Apr 2008, Deepayan Sarkar wrote:
> On 4/10/08, Deepayan Sarkar <deepayan.sarkar at gmail.com> wrote:
>> On 4/10/08, Aaron Arvey <aarvey at cs.ucsd.edu> wrote:
>> > Apologetic prologue: I've looked through the mailing list for an answer to
>> > this (since I'm sure it's trivial) but I have not been able to find a fix.
>> >
>> > So the problem is that I want each group to have a different type of plot.
>> > "Probes" should be points and "Segments" should be lines (preferably using
>> > the segment plot command, but I've just been trying -- unsuccessfully --
>> > to get lines to work).
>> >
>> > To be exact, the data looks like:
>> >
>> > loc val valtype mouse
>> > 1428 0.1812367 Probes 2
>> > 1439 -0.4534155 Probes 2
>> > 1499 -0.4957303 Probes 2
>> > 1559 0.2448838 Probes 2
>> > 1611 -0.2030937 Probes 2
>> > 1788 -0.2235331 Probes 2
>> > 1428 0.5 Segment 2
>> > 1439 0.5 Segment 2
>> > 1499 0.5 Segment 2
>> > 1559 0.5 Segment 2
>> > 1611 0.5 Segment 2
>> > 1788 0.5 Segment 2
>> > 1428 0.1812367 Probes 1
>> > 1439 -0.4534155 Probes 1
>> > 1499 -0.4957303 Probes 1
>> > 1559 0.2448838 Probes 1
>> > 1611 -0.2030937 Probes 1
>> > 1788 -0.2235331 Probes 1
>> > 1428 0.5 Segment 1
>> > 1439 0.5 Segment 1
>> > 1499 0.5 Segment 1
>> > 1559 0.1 Segment 1
>> > 1611 0.1 Segment 1
>> > 1788 0.1 Segment 1
>> >
>> >
>> > * loc is the x-axis location
>> > * val is the y-axis value
>> > * valtype is equal to "which" had I been smart and used make.groups
>> > * mouse is the 'cond' variable
>> >
>> >
>> > The plot command I'm currently using is,
>> >
>> > xyplot(val ~ loc | mouse, data = df,
>> > groups=valtype
>> > aspect=0.5, layout=c(3,3),
>> > lty=0, lwd=3, type="p",
>> > col=c("black", "blue"),
>> > as.table = TRUE)
>> >
>> > which gives me black and blue points for the probes/segments (I've infered
>> > alphabetical order for the groups colors). When I change the type to
>> > c("p", "l"), I get
>> >
>> > xyplot(val ~ loc | mouse, data = df,
>> > groups=valtype
>> > aspect=0.5, layout=c(3,3),
>> > lty=0, lwd=3, type=c("p","l"),
>> > col=c("black", "blue"),
>> > as.table = TRUE)
>>
>>
>> Try
>>
>>
>> xyplot(val ~ loc | mouse, data = df,
>>
>> groups=valtype,
>> type=c("p","l"),
>> ## distribute.type = TRUE,
>
> Sorry, that should be
>
> distribute.type = TRUE,
>
>> col=c("black", "blue"))
That did exactly what I was looking for! I now have a very nice lattice
plot with points and lines!
>> > I get the exact same plot. I've tried using a few of the panel functions
>> > I found on the list (I was particularly hopeful for
>> > http://tolstoy.newcastle.edu.au/R/help/06/07/30363.html) but I've either
>> > been misusing them, or they are not right for what I want to do.
>> >
>> > If anyone knows how to get points and lines in the same panel for the two
>> > different groups (probes/segments), I would love to hear about it.
>> >
>> > If you further know how to use the 'segment' plot in panels for the
>> > segments, I would really love to hear about it.
>>
>>
>> Well, panel.segments() draws segments, but you need your data in the
>> form (x1, y1, x2, y2) for that. With your setup, it's probably easier
>> to have lines with some NA-s inserted wherever you want line breaks.
That works perfectly! I was just planning on reformating the data, but
this makes life even easier!
Thanks!
Aaron
More information about the R-help
mailing list