From: Deepayan Sarkar <deepayan.sarkar_at_gmail.com>

Date: Tue 17 Oct 2006 - 20:36:58 GMT

...

R-help@stat.math.ethz.ch mailing list

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. Received on Wed Oct 18 06:41:33 2006

Date: Tue 17 Oct 2006 - 20:36:58 GMT

On 10/17/06, Frank E Harrell Jr <f.harrell@vanderbilt.edu> wrote:

> Deepayan Sarkar wrote:

*> > On 10/13/06, Frank E Harrell Jr <f.harrell@vanderbilt.edu> wrote:
**> >> I would like to add auxiliary information to the bottom of two strips on
**> >> each panel that comes from a table look-up using the values of two
**> >> variables that define the panel. For example I might panel on sex and
**> >> race, showing 3 randomly chosen time series in each panel and want to
**> >> add (n=100) in the bottom strip to indicate the 3 curves were sampled
**> >> from 100. Is there a not-too-hard way to do that?
**> >>
**> >> I would like to do this both with and without groups= and superposition,
**> >> but especially with.
**> >
**> > There might be, but it might be easier with some changes to lattice.
**> > Can you give a minimal example so that we can try out ideas?
**> >
**> > Deepayan
**> >
**>
**> Thanks for your note Deepayan. The difficulty is that the quantity to
**> add may need to be obtained by a table look-up given current panel strip
**> values. I have gotten around this by duplicating the lookup values
**> (here sizecluster) to correspond to x and y then using subscripts. The
**> code snippet below does not put the extra value in a strip but right
**> under the bottom strip. Better would be inside the bottom strip.
**>
**> textfun <- function(subscripts) {
**> if(!length(subscripts)) return()
**> size <- sizecluster[subscripts[1]]
**> txt <- paste('N=',size,sep='')
**> grid.text(txt, x=.005, y=.99, just=c(0,1),
**> gp=gpar(fontsize=9, col=gray(.25)))
**> }
**>
**> xyplot(Y ~ X | distribution*cluster, groups=curve,
**> xlab=xlab, ylab=ylab,
**> xlim=xlim, ylim=ylim,
**> as.table=TRUE,
**> panel=function(x, y, subscripts, ...) {
**> panel.superpose(x, y, subscripts, ...)
**> textfun(subscripts)
**> })
*

Well, the strip function has always been passed an argument called 'which.panel' (and the latest lattice has a function called 'which.packet()' which gives the same information inside a panel function as well). It seems to me that that's the thing you want to use. E.g.

*> library(lattice)
**> dotplot(variety ~ yield | site * year, data = barley,
*

+ strip = function(..., which.panel) print(which.panel))

[1] 1 1 [1] 1 1 [1] 2 1

...

[1] 5 2 [1] 6 2 [1] 6 2

-Deepayan

R-help@stat.math.ethz.ch mailing list

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. Received on Wed Oct 18 06:41:33 2006

Archive maintained by Robert King, hosted by
the discipline of
statistics at the
University of Newcastle,
Australia.

Archive generated by hypermail 2.1.8, at Tue 17 Oct 2006 - 21:30:10 GMT.

*
Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help.
Please read the posting
guide before posting to the list.
*