Given this example mean.values<-colMeans(VADeaths) mean.values<-apply(VADeaths, 2, mean) median.values<-apply(VADeaths, 2, median) dotchart(VADeaths, gdata=mean.values) dotchart(VADeaths, gdata=median.values) is it possible to ?combine? a single dotchart showing both the mean and the median for each single group (with different plotting symbols)? ?is it that possible with the use of the standard graphics or it is necessary (better) to use of a different package? Any example for this in my favourite (even almost always too much complex for myself) package lattice? thank you -- View this message in context: http://r.789695.n4.nabble.com/Dotchart-showing-mean-and-median-by-group-tp4619597.html Sent from the R help mailing list archive at Nabble.com.
Dotchart showing mean and median by group
10 messages · Massimo Bressan, Tal Galili, Gabor Grothendieck +1 more
An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20120509/79e22776/attachment.pl>
On Wed, May 9, 2012 at 3:25 AM, maxbre <mbressan at arpa.veneto.it> wrote:
Given this example mean.values<-colMeans(VADeaths) mean.values<-apply(VADeaths, 2, mean) median.values<-apply(VADeaths, 2, median) dotchart(VADeaths, gdata=mean.values) dotchart(VADeaths, gdata=median.values) is it possible to ?combine? a single dotchart showing both the mean and the median for each single group (with different plotting symbols)?
Try this: dotchart(VADeaths, gdata=mean.values) par(new = TRUE) dotchart(VADeaths, gdata=median.values, gpch = 20)
Statistics & Software Consulting GKX Group, GKX Associates Inc. tel: 1-877-GKX-GROUP email: ggrothendieck at gmail.com
An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20120510/91c2cd33/attachment.pl>
On Wed, May 9, 2012 at 5:32 PM, Tal Galili <tal.galili at gmail.com> wrote:
Hello dear?Gabor, First - thank you for this solution! Second - I see that the text that is added around the axes is a tiny bit shifted - causing a slight blur of the text. ?Does it happen only on Windows? ?Can it be fixed?
On my Windows system it looks ok to me but if you want to eliminate the overwriting this will suppress the mtext and axis annotations on the first dotchart call. library(proto) p <- proto(dotchart = dotchart, mtext = list, axis = list) with(p, dotchart(VADeaths, gdata = mean.values)) par(new = TRUE) dotchart(VADeaths, gdata = median.values, pch = 20)
Statistics & Software Consulting GKX Group, GKX Associates Inc. tel: 1-877-GKX-GROUP email: ggrothendieck at gmail.com
hi all I have another question reated to the dotchart: is it possible by means of par() to set a logaritmic scale? If yes, how ? and if not, any alternative solution? thanks -- View this message in context: http://r.789695.n4.nabble.com/Dotchart-showing-mean-and-median-by-group-tp4619597p4622618.html Sent from the R help mailing list archive at Nabble.com.
On May 10, 2012, at 2:24 AM, maxbre wrote:
hi all I have another question reated to the dotchart: is it possible by means of par() to set a logaritmic scale? If yes, how ? and if not, any alternative solution?
Looking at the dotchart code it appears to me that the log parameter to plot.window is hard-coded at "", i.e both scales are linear. Testing with the xlog parameter to par does fail. You can always define a new dochart2 on the basis of that code.
David Winsemius, MD West Hartford, CT
On May 10, 2012, at 5:03 AM, David Winsemius wrote:
On May 10, 2012, at 2:24 AM, maxbre wrote:
hi all I have another question reated to the dotchart: is it possible by means of par() to set a logaritmic scale? If yes, how ? and if not, any alternative solution?
Looking at the dotchart code it appears to me that the log parameter to plot.window is hard-coded at "", i.e both scales are linear. Testing with the xlog parameter to par does fail. You can always define a new dochart2 on the basis of that code.
Another alternative would be lattice (a simple mod to one of its
examples shows it "works"):
dotplot(variety ~ yield | site, data = barley, groups = year,
key = simpleKey(levels(barley$year), space = "right"),
scales=list(x=list(log=TRUE)),
xlab = "Barley Yield (bushels/acre) ",
aspect=0.5, layout = c(1,6), ylab=NULL)
David Winsemius, MD West Hartford, CT
On Thu, May 10, 2012 at 2:24 AM, maxbre <mbressan at arpa.veneto.it> wrote:
hi all I have another question reated to the dotchart: is it possible by means of par() to set a logaritmic scale? If yes, how ? and if not, any alternative solution?
1. This is getting increasingly complicated as new requirements are
added but anyways here it is. As before, for the first dotchart call
we substitute in our own dotchart (which is the same as R's dotchart
except its environment is reset to p so that it picks up anything in p
prior to similarly named functions elsewhere in R). This time we also
add our own plot.window to p overriding log=. The line marked ## is
optional and suppresses writing the axis annotations a second time.
As before, this code depends on the internals of dotchart so its not
ideal and you might wish to turn to lattice or ggplot 2 but it does
give the desired effect while sticking to classic graphics.
library(proto)
p <- proto(dotchart = dotchart,
plot.window = function(..., log) graphics::plot.window(..., log = "x"))
with(p, dotchart(VADeaths, gdata = mean.values))
par(new = TRUE)
p[["axis"]] <- p[["mtext"]] <- list ##
with(p, dotchart(VADeaths, gdata = median.values, gpch = 20))
2. A variation is to use dotchart2 in Hmisc. It has a version of
dotchart that directly supports adding to the plot. Omit the
suppressWarnings call below if you don't mind a few spurious warnings.
library(Hmisc)
groups <- col(VADeaths, as.factor = TRUE)
labels <- rownames(VADeaths)[row(VADeaths)]
suppressWarnings({
dotchart2(VADeaths, labels = labels, groups = groups,
gdata = mean.values, log = "x")
dotchart2(VADeaths, labels = labels, groups = groups,
gdata = median.values, log = "x", pch = 1, add = TRUE)
})
Statistics & Software Consulting GKX Group, GKX Associates Inc. tel: 1-877-GKX-GROUP email: ggrothendieck at gmail.com
thank you all for the high level contributions and the very helpful feedback; I think I have now enogh material to study for months: what a good lesson learned! cheers max -- View this message in context: http://r.789695.n4.nabble.com/Dotchart-showing-mean-and-median-by-group-tp4619597p4623526.html Sent from the R help mailing list archive at Nabble.com.