ok, I see now!
here it is the reproducible example along with the final code (aslo with the median line instead of a point)

thank you all for the great help

max

# start code

library(lattice)

test<-structure(list(site = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L,
3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 5L), .Label = c("A",
"B", "C", "D", "E"), class = "factor"), conc = c(2.32, 0.902,
0.468, 5.51, 1.49, 0.532, 0.72, 0.956, 0.887, 20, 30, 2.12, 0.442,
10, 50, 110, 3.36, 2.41, 20, 70, 3610, 100, 4.79, 20, 0.0315,
30, 60, 1, 3.37, 80, 1.21, 0.302, 0.728, 1.29, 30, 40, 90, 30,
0.697, 6.25, 0.576, 0.335, 20, 10, 620, 40, 9.98, 4.76, 2.61,
3.39, 20, 4.59)), .Names = c("site", "conc"), row.names = c(NA,
52L), class = "data.frame")

mystats <- function(x, ...){ # Here ...
  out <- boxplot.stats(10^x, ...)  # ...and here!!!
  out$stats <- log10(out$stats)
  out$conf <- log10(out$conf) ## Omit if you don't want notches
  out$out <- log10(out$out)
  out ## With the boxplot statistics converted to the log10 scale
}

dev.new()
bwplot(conc~site, data=test,
       pch="|",  # this is plotting a line instead of a point
       scales = list(y=list(log=10)),
       panel = function(...){
         panel.bwplot(..., stats = mystats)
       }
)

# end code

Il 17/09/2012 20:26, Rui Barradas ha scritto:
Hello,

Em 17-09-2012 18:50, David Winsemius escreveu:
On Sep 17, 2012, at 4:18 AM, maxbre wrote:

here it is, I think (I hope) I'm getting a little closer with this, but
still there is something  to sort out...

error using packet 1
unused argument(s)  (coef =1.5, do.out=TRUE)

by reading the help for panel.bwplot at the argument "stats" it says: "the function must accept arguments coef and do.out even if they do not use them
(a ... argument is good enough). "
I'm not sure how to couple with this...

any help for this ?

thanks


## start code


mystats <- function(x){
  out <- boxplot.stats(10^x)
  out$stats <- log10(out$stats)
  out$conf <- log10(out$conf) ## Omit if you don't want notches
  out$out <- log10(out$out)
  out$coef<-1.5 #??
  out$do.out<-"TRUE" #??
  out ## With the boxplot statistics converted to the log10 scale
}

bwplot(conc~site, data=test,
       scales=list(y=list(log=10)),
       panel= function(x,y){
         panel.bwplot(x,y,stats=mystats)
       }
       )
No example data, so no efforts at running code.

Actually there is, in the op.


?panel.bwplot

# Notice the Usage at the top of the page. The "..." is there for a reason.

# And notice that neither 'do.out' nor 'coef' are passed in the "stats" list

# The message was talking about what arguments your 'mystats' would accept, .... not what it would return. It's another instance of your needing to understand what the "..." formalism is doing.

?boxplot.stats

# I would be making a concerted effort to return a list with exactly the components listed there.

And since I'm terrible at graphics I try to learn as much as possible on R-Help. Here it goes.


library(lattice)

test<-structure(list(site = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L,
3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 5L), .Label = c("A",
"B", "C", "D", "E"), class = "factor"), conc = c(2.32, 0.902,
0.468, 5.51, 1.49, 0.532, 0.72, 0.956, 0.887, 20, 30, 2.12, 0.442,
10, 50, 110, 3.36, 2.41, 20, 70, 3610, 100, 4.79, 20, 0.0315,
30, 60, 1, 3.37, 80, 1.21, 0.302, 0.728, 1.29, 30, 40, 90, 30,
0.697, 6.25, 0.576, 0.335, 20, 10, 620, 40, 9.98, 4.76, 2.61,
3.39, 20, 4.59)), .Names = c("site", "conc"), row.names = c(NA,
52L), class = "data.frame")


#standard graphics
dev.new()
with(test,boxplot(conc~site, log="y"))

#lattice
mystats <- function(x, ...){ # Here ...
    out <- boxplot.stats(10^x, ...)  # ...and here!!!
    out$stats <- log10(out$stats)
    out$conf <- log10(out$conf) ## Omit if you don't want notches
    out$out <- log10(out$out)
    out ## With the boxplot statistics converted to the log10 scale
}

dev.new()
bwplot(conc~site, data=test,
       scales = list(y=list(log=10)),
       panel = function(...){
         panel.bwplot(..., stats = mystats)
       }
)

With a median _line_ it would be perfect.
(Not a follow-up, it was already answered some time ago, use pch = "|" in panel.bwplot.)

Rui Barradas

## end code





______________________________________________
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