Hi Jun, I'd for a local fitting by means of the loess() function. Assuming z is the third axis:
x<-runif(25) y<-runif(25) z<-runif(25) xyz.fit <- loess(z~x+y,control=loess.control(surface='direct'),span=.5,degree=1) #tune parameters as you like z.predict <-matrix(predict(xyz.fit,cbind(x,y)),5,5) persp(z=z.predict,phi=30,theta=45,shade=.5) #tune parameters as you like Hope this helps, /f On Wed, Dec 4, 2013 at 5:36 PM, Jun Shen <jun.shen...@gmail.com> wrote: > Hi, > > I have a dataset with two independent variables (x, y) and a response > variable (z). I was hoping to generate a response surface by plotting x, y, > z on a three dimensional plot. I can plot the data with rgl.points(x, y, > z). I understand I may not have enough data to generate a surface. Is there > a way to smooth out the data points to generate a surface? Thanks a lot. > > Jun > > =========================== > > An example: > > x<-runif(20) > y<-runif(20) > z<-runif(20) > > library(rgl) > rgl.points(x,y,z) > > [[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. > [[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.