[R] Boxplot lattice vs standard graphics

Massimo Bressan mbressan at arpa.veneto.it
Mon Sep 17 08:37:41 CEST 2012


thank you for the help, bert

unfortunately, for reasons I can not understand (yet) I can not put to 
wortk it all
(I'm always in trouble with the panel functions);

max

Il 14/09/2012 18:38, Bert Gunter ha scritto:
> Thanks for the example. Makes it easy to see what you mean.
>
> Yes, if I understand you correctly, you are right:
> boxplot() (base) transforms the axes, so ?boxplot.stats, which is the
> function that essentially computes the boxplot, does so on the
> original data.
> bwplot(lattice) transforms the data first, as the documentation for
> the "log" component of the scales list makes clear, and **then** calls
> boxplot.stats.
>
> Although I think the latter makes more sense then the former, I think
> the way to do it is to modify the "stats" function in an explicit call
> to panel.bwplot to something like (UNTESTED!)
> 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 ## With the boxplot statistics converted to the log10 scale
> }
>
> I leave it to you to test and modify as necessary.
>
> Cheers,
> Bert
>
> On Fri, Sep 14, 2012 at 2:37 AM, maxbre <mbressan at arpa.veneto.it> wrote:
>> Given my reproducible example
>>
>> 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")
>>
>>
>>
>> And the following code
>>
>> #standard graphics
>> with(test,boxplot(conc~site, log="y"))
>>
>> #lattice
>> bwplot(conc~site, data=test,
>>         scales=list(y=list(log=10))
>>         )
>>
>> There is an evident difference for site A, B, D in the way some outliers are
>> plotted by comparing the plot produced by lattice vs. the standard graphics
>>
>> I think to understand this might be due to the different treatment of data:
>> i.e. log transformation (before or after the plotting?)
>>
>> Is it possible to achieve the same plotting result with both graphic
>> facilities?
>> I would like to show the outliers also in lattice…
>>
>> Thank you
>>
>> http://r.789695.n4.nabble.com/file/n4643121/standard.png
>>
>> http://r.789695.n4.nabble.com/file/n4643121/lattice.png
>>
>>
>>
>>
>>
>> --
>> View this message in context: http://r.789695.n4.nabble.com/Boxplot-lattice-vs-standard-graphics-tp4643121.html
>> Sent from the R help mailing list archive at Nabble.com.
>>
>> ______________________________________________
>> R-help at 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.
>
>




More information about the R-help mailing list