[R] Median abline how-to ?
William Dunlap
wdunlap at tibco.com
Thu Aug 12 17:49:09 CEST 2010
> From: r-help-bounces at r-project.org
> [mailto:r-help-bounces at r-project.org] On Behalf Of David martin
> Sent: Thursday, August 12, 2010 7:42 AM
> To: r-help at stat.math.ethz.ch
> Subject: [R] Median abline how-to ?
>
> Hi,
> I'm newbie with R and don't really know how to add a median
> line to each
> of the groups that is not all the plot long.
>
> Here is a small working code that i have adapted for my purpose. If
> somebody could tell me how to draw median lines on each group and not
> all plot long.
>
> ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14)
> trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69)
> group <- gl(2,10,20, labels=c("Ctl","Trt"))
> weight <- c(ctl, trt)
>
> ctlmed <- median(weight[which(group == "Ctl")])
> trtmed <- median(weight[which(group == "Trt")])
> plot.default(weight ~ group,axes=F)
> axis(2,col.axis = "blue",las=1,cex.axis=0.7,xpd=TRUE)
> axis(1,
> labels=levels(group),at=1:length(unique(group)),las=2,cex.axis=0.7)
You can use segments(), along with par("cxy"), which gives
the size of a typical plotting character in user units. E.g.,
w <- par("cxy")[1] * 1.5 # width of pch times 1.5, half-width of
median line
ix <- seq_len(nlevels(group))
mediansByGroup <- tapply(weight, group, median)
segments(x0=ix-w, x1=ix+w, y0=mediansByGroup, col=ix)
Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com
> -----Original Message-----
> #horizontal
> abline(h = ctlmed, col = "blue", lwd = 2) # ?? how to make
> abline shorter ?
> abline(h = trtmed, col = "red", lwd = 2)
> box(bty="c")
>
> ps: At this stage the boxplot is not interesting for me.
> thanks,
> david
>
> ______________________________________________
> 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