[R] Shading area under density curves
Marc Schwartz
marc_schwartz at comcast.net
Wed Oct 3 23:55:25 CEST 2007
On Wed, 2007-10-03 at 14:21 -0700, rominger at stanford.edu wrote:
> Hello,
>
> I have a question regarding shading regions under curves to display
> 95% confidence intervals. I generated bootstrap results for the slope
> and intercept of a simple linear regression model using the following
> code (borrowed from JJ Faraway 2005):
>
> > attach(allposs.nine.d)
> > x<-model.matrix(~log(d.dist,10))[,-1]
> > bcoef<-matrix(0,1000,2)
> > for(i in 1:1000){
> + newy<-predict(all.d.nine.lm)+residuals(all.d.nine.lm)[sample(1002,rep=TRUE)]
> + brg<-lm(newy~x)
> + bcoef[i,]<-brg$coef
> + }
>
> Where "allposs.nine.d" is a data file composed of two columns: (1)
> geographical distances between sample points ("d.dist") and (2) their
> respective pairwise percent similarity in species composition
> ("d.sim"). The expression "all.d.nine.lm" equals lm(d.sim~d.dist).
>
> I saved the bootstrap results for each coefficient as:
>
> > dist.density.b1<-density(bcoef[,2])
> > dist.density.b0<-density(bcoef[,1])
>
> Along with their 95% confidence intervals:
>
> > dist.quant.b1<-quantile(bcoef[,2],c(.025,.975))
> > dist.quant.b0<-quantile(bcoef[,1],c(.025,.975))
>
> I then could plot smooth density curves along with their 95% CI's:
>
> > plot(dist.density.b1)
> > abline(v=dist.quant.b1)
>
> Now finally for my question: Instead of drawing vertical lines to
> represent the 95% CI's, I'd much prefer to somehow shade in the region
> under the curve corresponding the to 95% CI. I tried using the
> polygon() function for this but did not get very far as I couldn't
> figure out how to define limits for x and y coordinates.
>
> Any suggestions would be great. Thanks very much--
> Andy Romigner
You might want to review this post on shading critical regions (my reply
to question #3):
http://tolstoy.newcastle.edu.au/R/help/03b/2475.html
or perhaps this entry by Thomas Lumley from the R Graph Gallery:
http://addictedtor.free.fr/graphiques/RGraphGallery.php?graph=88
HTH,
Marc Schwartz
More information about the R-help
mailing list