[R] easy way to do a 2-D fit to an array of data?
Carl Witthoft
carl at witthoft.com
Tue May 3 01:14:00 CEST 2011
Hi,
I've got a matrix, Z, of values representing (as it happens) optical
power at each pixel location. Since I know in advance I've got a
single, convex peak, I would like to do a 2D parabolic fit of the form
Z = poly((x+y),2) where x and y are the x,y coordinates of each pixel
(or equivalently, the row, column numbers).
Is there an R function that lets me easily implement that? I've started
down the path of something like
zvec <- as.vector(Z), and creating applicable x,y vectors by something
like (where for the sake of argument Z is 128x128)
foo<-matrix(seq(1,128),128,128)
xvec <- as.vector(foo)
yvec <- as.vector(t(foo))
at which point I can feed zvec, xvec, yvec to lm() .
I'm hopeful someone can point me to a much easier way to do the same
thing. Oh, and if there's a 2-D splinefunction generator, that would
work for me as well.
thanks
Carl
More information about the R-help
mailing list