[R] Types in grouped multi-panel (lattice) xyplot

Deepayan Sarkar deepayan.sarkar at gmail.com
Thu Apr 10 22:50:27 CEST 2008


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"))
>
>
>  >  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.
>
>
>  -Deepayan
>



More information about the R-help mailing list