On Sep 6, 2009, at 12:51 AM, David Winsemius wrote:

I'm not exactly sure what structure df has. Here's my effort to duplicate it:

df <- data.frame(y=matrix(rnorm(24), nrow=6), x=1:6)
> df
        y.1        y.2        y.3        y.4 x
1  0.1734636  0.2348417 -1.2375648 -1.3246439 1
2  1.9551669 -1.1027262 -0.7307332  0.3953752 2
3 -0.7645778  1.6297861  0.4743805 -0.4476145 3
4 -0.5308756 -0.5246534 -0.3854609 -1.6097777 4
5  0.7406525 -0.8691720 -0.8194084  1.6122059 5
6 -0.9625619 -1.0774165  1.0760829  0.3659436 6

And this seems to accomplish the desired task. Presumably you have assigned off-stage the value of title to a meaningful character string?

> p <- xyplot(y.1+y.2+y.3+y.4 ~ x |1:4, data = df, main = "title" ,layout=c(1,4) )
> p

For the record, the xyplot call above does not give the desired output but Gabor's method does. I'm glad that construction of a sample df was useful, even is my efforts a driving xyplot with a surrogate grouping sequence was not.

--
David.



On Sep 5, 2009, at 11:52 PM, Bryan Hanson wrote:

Hello R Folks...

I have a list with the following structure:

str(df)
List of 3
$ y : num [1:4, 1:1242] -0.005379 0.029874 -0.023274 0.000655 -0.004537
..
$ x    : num [1:1242] 501 503 505 507 509 ...
$ names: Factor w/ 4 levels "PC Loading 1",..: 1 2 3 4

I want to plot each row of df$y against df$x, and have each plot in it’s own panel according to the levels of df$names. The following works in the sense that the layout is right, but the y values have clearly been recycled or skipped in some fashion (and an error is thrown for each panel that the
length of x and y aren’t the same):

p <- xyplot(y ~ x | names, data = df, main = title,
      layout = c(1, dim(y)[1])

In reviewing the extended formula interface in the Lattice Book, what I want
to happen is y1 + y2 + y3 + y4 ~ x | names, outer = TRUE

I see two options: figure out a way to create the extended formula on the fly (and the actual number of rows in y may vary), which seems potentially tricky, or create a data frame by stacking each row of y and repeating x and
names to match.  This seems like a waste of memory.

I’ve looked through the archives and haven’t come across something quite like this, or at least I don’t recognize it if I have! Is there a more elegant way to tell xyplot I want to use each row of y repeatedly with the
same x, in a loop-like fashion?

TIA.  Bryan
*************
Bryan Hanson
Professor of Chemistry & Biochemistry
DePauw University, Greencastle IN USA


        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org 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.

David Winsemius, MD
Heritage Laboratories
West Hartford, CT

______________________________________________
R-help@r-project.org 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.

David Winsemius, MD
Heritage Laboratories
West Hartford, CT

______________________________________________
R-help@r-project.org 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.

Reply via email to