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