I may have missed something entirely but I think ggplot2 will do this for you pretty well automatically
library(ggplot2) mydata <- read.csv("http://doylesdartden.com/smoothing.csv", sep=",") p <- ggplot(mydata , aes( X_Axis_Parameter, Y_Axis_Parameter )) + geom_point() + geom_smooth() p John Kane Kingston ON Canada > -----Original Message----- > From: kydaviddo...@gmail.com > Sent: Tue, 7 Aug 2012 21:22:41 -0500 > To: r-help@r-project.org > Subject: [R] Confidence bands around LOESS > > Hi Folks, > > I'm looking to do Confidence bands around LOESS smoothing curve. > > If found the older post about using the Standard error to approximate it > https://stat.ethz.ch/pipermail/r-help/2008-August/170011.html > > Also found this one > http://www.r-bloggers.com/sab-r-metrics-basics-of-loess-regression/ > > But they both seem to be approximations of confidence intervals and I was > wonder if there was a way to get the CIs? > > Below is the code I have so far and my data is no the net. > > Any help would be greatly appreciated. > > Take Care > David > ----------------------------- > > #Load your data. Is located on the web at the address below > > mydata <- read.csv("http://doylesdartden.com/smoothing.csv", sep=",") > > mydata <- read.table("x.csv", header=TRUE, sep=",",) > > > > attach(mydata) > > reg1 <- lm(Y_Axis_Parameter~X_Axis_Parameter) > > par(cex=1) > > * * > > * * > > #Plots the data but makes nondetects a different color and type based on > column D_Y_Axis_Parameter being a 0 for ND and 1 for detect. > > plot(X_Axis_Parameter, Y_Axis_Parameter, col=ifelse(D_Y_Axis_Parameter, > "black", "red"),ylab = "Y_Axis_Parameter", pch=ifelse(D_Y_Axis_Parameter, > 19, 17), cex = 0.7) > > > > plx<-predict(loess(Y_Axis_Parameter ~ X_Axis_Parameter, data=mydata), > se=T) > > > > > > lines(mydata$X_Axis_Parameter,plx$fit+2*plx$s, lty=2) #rough & ready CI > > lines(mydata$X_Axis_Parameter,plx$fit-2*plx$s, lty=2) > > > > # Apply loess smoothing using the default span value of 0.8. You can > change the curve by changing the span value. > > y.loess <- loess(y ~ x, span=0.8, data.frame(x=X_Axis_Parameter, > y=Y_Axis_Parameter)) > > > > # Compute loess smoothed values for all points along the curve > > y.predict <- predict(y.loess, data.frame(x=X_Axis_Parameter)) > > > > # Plots the curve. > > lines(X_Axis_Parameter,y.predict) > > * * > > #Add Legend to graY_Axis_Parameter. You can change the size of the box > by > changing cex = 0.75 Large # makes it larger. > > legend("topleft", c("Smoothing Curve", "Detected", "NonDetect"), col = > c(1, > "black","red"), cex = 0.75, > > text.col = "black", lty = c(1 ,-1, -1), pch = c(-1, 19, 17), > > merge = TRUE, bg = 'gray90') > > * * > > #Add title > > title(main="Locally Weighted Scatterplot Smoothing Curve") > > > > # Done > > [[alternative HTML version deleted]] > > ______________________________________________ > 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. ____________________________________________________________ GET FREE SMILEYS FOR YOUR IM & EMAIL - Learn more at http://www.inbox.com/smileys Works with AIM®, MSN® Messenger, Yahoo!® Messenger, ICQ®, Google Talk™ and most webmails ______________________________________________ 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.