Hi there, I'd like to be able to pass an entire object to uniroot() as one of the arguments. Unfortunately to recreate my precise error would be rather involved. So I present a simplified version below:
To create a structured object let the output from the lm() function use this simple code: year <- c(2000 , 2001 , 2002 , 2003 , 2004) rate <- c(9.34 , 8.50 , 7.62 , 6.93 , 6.60) fit <- lm(rate ~ year) When I try to pass this to uniroot: OptLam<-uniroot(f=LamOpt, interval=c(0.0001,120), tol=0.0000000000000001, MLEObj=fit ) I get the following error Error in f(lower, ...) : unused argument(s) (MLEObj = list(coefficients = c(1419.2079999999, -0.704999999999952), residuals = This seems to be specific to uniroot I have tested my own functions and they happily accept objects like fit. The function LamOpt is not supposed to work with a object created by lm() I've just used lm() as a simple example so don't worry about the results that LamOpt produces, if I can pass one object like fit to uniroot then I assume I can pass any object. It seems that uniroot must be expecting an object of a certain size, would it therefore be possible to use something analogous to pointers in c/c++ and pass the object by reference so only a pointer to the object is passed rather than the object itself? LamOpt<-function(lambda,MLEobj){ x <- c(3,6,9,12,15,18,21,24,30,36,48,60,72,84,96,108,120) #MLEObj<-kemfit ## Cross-sectional model (Nelson and Siegel) #lambda <- 0.0609 h2 <- function(x){(1-exp(-lambda*x))/(lambda*x)} h3 <- function(x){((1-exp(-lambda*x))/(lambda*x)) - exp(-lambda*x)} X=cbind(rep(1,m), h2(x), h3(x)) #obs Z <- matrix(as.list(X), ncol = 3) MLEObj$par$Z=Z kf_iter = MARSSkf(MLEobj) return(-kf_iter$logLik) } Thanks Baz -- View this message in context: http://r.789695.n4.nabble.com/Unable-to-pass-Object-Arguments-to-UniRoot-tp4710938.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ 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.