On Jul 12, 2011, at 7:53 PM, KenjiPsyD wrote:

I have a question about running an optimization function on an existing LOESS function defined in R. I have a very large dataset (1 million observations)
and have run a LOESS regression. Now, I want to run a Newton-Raphson
optimization to determine the point at which the slope change is the
greatest.

I am relatively new to R and have tried several permutations of the maxNR and nlm functions with no success. For example, I used the nlm function as
follows:

LOESS <- loess(Y ~ X)
optim <- nlm(function(x) LOESS(x))...

I don't see how that would be examining slopes.


However, this doesn't seem to work. In the examples I see online, the
function in nlm and maxNR are user defined, instead of the output of another
function (i.e., my LOESS regression).

Is it possible to run this type of optimization function on my Loess
function?

> cars.lo <- loess(dist ~ speed, cars)
> is.function( cars.lo)
[1] FALSE

If you want to make it a function, there is approxfun in the stats package.

car.fun <- approxfun(x=cars.lo$x, cars.lo$fitted)
plot(dist~speed, data=cars)
curve(car.fun, add=TRUE)

Some functions require that a function be offered that takes x as its argument.

> car.fun(x=5)
Error in car.fun(x = 5) : unused argument(s) (x = 5)

If that is the case with your optimization routine then you can create one with:

> car.funx <- function(x) car.fun(x)
> car.funx(x=5)
[1] 8.095681

--

David Winsemius, MD
West Hartford, CT

______________________________________________
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.

Reply via email to