loess() should be able to do robust 2D smoothing. There's no natural ordering in 2D, so defining running medians can be tricky. I seem to recall Prof. Koenker talked about some robust 2D smoothing method at useR! 2004, but can't remember if it's available in some packages.
Andy From: Vladislav Petyuk > > Hi, > Are there any multidimenstional versions of runmed() and > smooth.spline() functions? I need to fit surface into quite > noisy 3D data. > > Below is an example (2D) of kind of fittings I do. > Thank you, > Vlad > > #=generating complex x,y dataset with gaussian & uniform > noise== x <- seq(1:10000) x2 <- rep(NA,2*length(x)) y2 <- > rep(NA,2*length(x)) x2[seq(1,length(x2),2)] <- x > x2[seq(2,length(x2),2)] <- x y2[seq(1,length(x2),2)] <- > sin(4*pi*x/length(x)) + rnorm(length(x)) > y2[seq(2,length(x2),2)] <- runif(length(x),min=-5,max=5) > #=============================================================== > > #=robust & smooth fit=========================================== > y3 <- runmed(y2,51,endrule="median") #first round of running > median y4 <- smooth.spline(x2,y3,df=10) #second round of > smoothing splines > #=============================================================== > > #=ploting data================================================== > plot(x2,y2,pch=19,cex=0.1) > points(x2,y3,col="red",pch=19,cex=0.1) #running median > points(y4,col="green",pch=19,cex=0.1) #smoothing splines > #=============================================================== > > ______________________________________________ > [email protected] mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! > http://www.R-project.org/posting-guide.html > > ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
