Allows you to specify a formula with parameters, along with starting guesses for the parameters. Refines those guesses to find the least-squares fit.

```
fitModel(formula, data = parent.frame(), start = list(), ...)
model(object, ...)
# S3 method for nlsfunction
model(object, ...)
# S3 method for nlsfunction
summary(object, ...)
# S3 method for nlsfunction
coef(object, ...)
```

- formula
formula specifying the model

- data
dataframe containing the data to be used

- start
passed as

`start`

to`nls()`

. If and empty list, a simple starting point is used (thus avoiding the usual warning message).- ...
additional arguments passed to

`nls()`

- object
an R object (typically a the result of fitModel)

a function

Fits a nonlinear least squares model to data. In contrast to linear models, all the parameters (including linear ones) need to be named in the formula. The function returned simply contains the formula together with pre-assigned arguments setting the parameter value. Variables used in the fitting (as opposed to parameters) are unassigned arguments to the returned function.

This doesn't work with categorical explanatory variables. Also,
this does not work with synthetic data that fit the model perfectly.
See `link{nls}`

for details.

```
if (require(mosaicData)) {
f <- fitModel(temp ~ A+B*exp(-k*time), data=CoolingWater, start=list(A=50,B=50,k=1/20))
f(time=50)
coef(f)
summary(f)
model(f)
}
#> Nonlinear regression model
#> model: temp ~ A + B * exp(-k * time)
#> data: data
#> A B k
#> 27.00444 62.13543 0.02096
#> residual sum-of-squares: 484.6
#>
#> Number of iterations to convergence: 7
#> Achieved convergence tolerance: 5.618e-06
```