Hi, I am trying to solve a non-linear least square which has a function from R^3 -> R. Is it possible to define gradient using newDeriv for a 3-variate scalar function?
I am trying to use the genD function in numDeriv package to define numerical gradient and treat them as a function. So far, I have failed to do it for simple function as follows � f <- function(x,y){x+y} grad.f <- function(x,y){z <- c(x,y) f2 <- function(z){f(z[1],z[2])} gd <- genD(f2,z)$D[,1:length(z)] return(gd) } newDeriv(f(x,y), grad.f(x,y)) This derivative definition is not working as the following error pops up � fd <- fnDeriv(~ f(x,y), c("x",�y�)) fd(c(1,2)) Error in .grad[, "x"] <- grad.f(x) : number of items to replace is not a multiple of replacement length I know the above example would work if I just give expressions instead of using grad function in numDeriv but I am trying to use numDeriv::grad here to see if my toy example can be translated to the bigger function I would later use it on. Thanks, Debanga -- Debangan Dey, PhD Student in Biostatistics, Johns Hopkins Bloomberg School of Public Health, Baltimore, MD [[alternative HTML version deleted]]
______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.