Construct an nls-compatible formula from an lm style formula
Construct an nls-compatible formula from an lm style formula
construct_formula(formula, data)
Arguments
formula: The formula. This has the same syntax and supports the same features as the formula in lm. See examples.
data: A data frame containing the data of the variables in the formula.
Returns
A list of three elements:
model_formula - An nls compatible formula
model_data - The modelling set created (inlcuding dummy variables, if any)
x_param_names - The names of the parameters
Details
construct_formula creates the parameters needed for the formula to be compatible with nls style functions. It also creates and returns the modelling set.
construct_formula will make syntactically valid names (if applicable) otherwise the optimizers will fail. To make these names make.names is used. Check examples.
Examples
#simple syntaxconstruct_formula(mpg ~ hp + cyl, mtcars)#example of make.names to create syntactically valid namesmake.names('(foo/^@bar)')#function will create syntactically valid names (if applicable) #otherwise the optimizers will failconstruct_formula(mpg ~ I(hp + cyl), mtcars)construct_formula(mpg ~(hp + cyl + disp)^3, mtcars)