Re: [R] Range plots (lattice or base?)

From: Mike Bock <mbock_at_Environcorp.com>
Date: Thu 20 Oct 2005 - 23:44:49 EST


I have gotten what I want by following Deepayan's advice. I have written the following replacement for boxplot.stats. When I run bwplot, I get exactly what I want. This function is lacking sufficient error checking but here it is. The bootstrapping makes it a bit slow. What I would like to do is write a new function (ciplot) that stores the original boxplot.stats fucntion, replaces it with my new stats function, calls bwplot, and then return boxplot.stats to its original.

boxplot.stats <-function (x,coef = 1.5, do.conf=TRUE, do.out=TRUE) { Mean <- mean(x,na.rm = TRUE)

Sd <- sd(x,na.rm = TRUE)
lp <- (quantile(x,0.10, na.rm = TRUE)[[1]])
up <- (quantile(x,0.90, na.rm = TRUE) [[1]])
sizen <- sum(!is.na(x))
lci <- 0
uci <- 0
if (sizen > 5)
 {CI <- try((boot.ci(boot(x, function(x,i) mean(x[i]), R = 5000)
           ,conf = c(0.95),
           type = c("norm")))$normal[-1])
 lci <- CI[1]
 uci <- CI[2]}
lconf <- 0
uconf <- 0
stats <- c(lp,lci,Mean,uci,up)

n<-sizen
conf <-c(lconf,uconf)
result <- list(stats = stats,n=n,conf=conf,out = NA) return(result)
}

> -----Original Message-----
> From: Deepayan Sarkar [mailto:deepayan.sarkar@gmail.com]
> Sent: Wednesday, October 19, 2005 3:34 PM
> To: Mike Bock
> Cc: r-help@stat.math.ethz.ch
> Subject: Re: Range plots (lattice or base?)
>
>
>
>
> On 10/19/05, Mike Bock <mbock@environcorp.com> wrote:
> > I am looking to create what I would call a "simple
> variation" on the
> > boxplot. What I would like to do is to be able to plot the
> upper and
> > lower confidence limits as the "box" and the 10th and 90th
> percentile
> > as the whiskers. What I have done is write the code to create a
> > dataframe, the columns of which are the mean, sd, 10th percentile,
> > 90th percentile, lower confidence limit of the mean, and upper
> > confidence limit of the mean, the rows are the groups. I
> have exported
> > this to excel and get the graph I want by using the stock graphs in
> > excel that plot open, close, high and low but I would much
> prefer to
> > do this in R for reason too numerous to enumerate.
> >
> > I have looked high and low and even took a brief look at the bwplot
> > code in the lattice package. Given my experience level it
> would take
> > quite a while for me to modify the bwplot code to get what
> I want and
> > create a new graph type, assuming I could get it to work at
> all. Does
> > anyone know of an easier way to get what I want, with and example?
> > Lattice, grid, base, whatever, I don't especially care what tools I
> > need to use. My only constrante is that I feed it the
> values required
> > as a dataframe rather than calculate it on the fly so if we
> change our
> > minds about UCL method or percentiles there is no problem.
>
> Is your UCL method guaranteed to work separately on groups
> (e.g. if the s.d. is estimated per group) or does it share
> information across groups (e.g. some sort of pooled estimate
> of s.d.)? In the former case, you could try writing a
> replacement for boxplot.stats and use that in panel.bwplot.
>
> Deepayan
>



R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Thu Oct 20 23:52:32 2005

This archive was generated by hypermail 2.1.8 : Sun 23 Oct 2005 - 19:10:54 EST