On 9/13/06, Mike Townsley [EMAIL PROTECTED] wrote:
Dear guRus,
I'm having trouble producing a levelplot with relative cuts for each
panel (my data has large differences in scales, so I want to use
quantiles for each panel).
My attempts to change the 'at' argument in panel.levelplot function
have not met with success.
Below is a toy example.
xy - expand.grid(x = 1:3, y = 1:3)
aaa - rbind(cbind(xy, z = 1:9, site = rep('A', 9)),
cbind(xy, z = (1:9)/10, site = rep('B', 9)),
cbind(xy, z = (1:9)*10, site = rep('C', 9)))
aaa
library(lattice)
levelplot(z~x+y|site, data = aaa) # using absolute cuts
# now, attempt relative cuts
levelplot(z~x+y|site, data = aaa, panel = function(...) {
panel.levelplot(at = quantile(z),...) })
I get the following message:
Error in panel.levelplot(at = quantile(z), ...) :
formal argument at matched by multiple actual arguments
My idea was to determine the cut points each time the panel function
is called (ie each subset of the data), but I guess this was the
wrong thing to do. Can someone point out what I'm missing?
Mostly that you have to catch the arguments you want to use/replace, e.g.
levelplot(z~x+y|site, data = aaa, panel = function(..., z, at) {
panel.levelplot(..., z = z, at = quantile(z)) })
This won't actually give you want, you will need:
levelplot(z~x+y|site, data = aaa, panel = function(..., z, subscripts, at) {
panel.levelplot(..., z = z, subscripts = subscripts, at =
quantile(z[subscripts])) })
?panel.levelplot should explain why.
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.