On Mon, May 9, 2011 at 5:42 PM, David Winsemius <dwinsem...@comcast.net> wrote: > > On May 9, 2011, at 12:35 AM, Deepayan Sarkar wrote: > >> On Mon, May 9, 2011 at 2:20 AM, Thomas Lumley <tlum...@uw.edu> wrote: >>> >>> On Mon, May 9, 2011 at 6:35 AM, Deepayan Sarkar >>> <deepayan.sar...@gmail.com> wrote: >>>> >>>> On Sat, May 7, 2011 at 1:55 AM, Raphael Mazor <rapha...@sccwrp.org> >>>> wrote: >>>>> >>>>> Is it possible to create weighted boxplots or violin plots in lattice? >>>>> >>>>> It seems that you can specify weights for panel.histogram() and >>>>> panel.densityplot(), but not for panel.bwplot or panel.violin(). >>>> >>>> Not for panel.histogram() either. >>>> >>>> It's not immediately obvious how you would get weighted boxplots. >>> >>> The way the survey world does it is to get weighted quantiles and work >>> from them, as in survey:::svyboxplot(). The only tricky decision is >>> what to do with outliers, since I haven't been able to think of any >>> good way of indicating weights on them. >> >> So I guess with bwplot() one would have to write a version of >> boxplot.stats() that uses weighted quantiles, and then write a >> modified panel function. >> >> A crude approximation (if the weights don't vary too much) may be to >> scale and round the weights to integers, and then repeat each data >> point; e.g., newx <- rep(x, w), etc. > > You could do a bit better if you just substituted wtd.quantile from Hmisc > with an x and weights argument for the fivenum call in boxplot.stats.
Thanks for that pointer. Incorporating weights into panel.bwplot() would still be a bit painful though (more so than panel.violin). -Deepayan > > require(Hmisc) >> ?wtd.quantile >> fivenum(x=1:10) > [1] 1.0 3.0 5.5 8.0 10.0 >> wtd.quantile(x=1:10) > 0% 25% 50% 75% 100% > 1.00 3.25 5.50 7.75 10.00 >> wtd.quantile( x = 1:10, weights = 1:10) > 0% 25% 50% 75% 100% > 1 5 7 9 10 > > (Most people think the hinges are at the 25th and 75th percentiles anyway.) > > >> >> -Deepayan >> >> ______________________________________________ >> 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 > 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.