On Thu, 18 Apr 2019 10:36:10 +0000 akshay kulkarni <akshay...@hotmail.com> wrote:
> fx <- (x1 <= -2)*(x1^2) + (x1 > -2 && x1 < 2)*(x1^3) + (x1 > = > 2)*(x1^4) > > Can I include fx in an nls call to create something like this: > > NLS1 <- nls(y ~ a*(sin(x2) + fx), start = list(a = 2)) ? For now, you can, since fx does not depend on any of the parameters you optimize in the nls() call. (Actually, the model as presented should be solveable by lm(y ~ I(sin(x2) + fx) + 0), since it is linear in its only parameter.) If you make fx a function and use ifelse() to provide different outcomes depending on a condition in a vectorized fashion, you would make it easier to add new parameters later, should the need arise: fx <- function(x1, x2) ifelse(x1 <= -2, EXPR_IF_TRUE..., EXPR_IF_FALSE...) NLS1 <- nls(y ~ a*(sin(x2) + fx(x1, x2)), ...) -- Best regards, Ivan ______________________________________________ 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.