Vladislav Petyuk
2006-Mar-16 06:27 UTC
[R] running median and smoothing splines for robust surface fitting
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 #===============================================================