# wfct: Weighting function that can be supplied to the 'weights'... In minpack.lm: R Interface to the Levenberg-Marquardt Nonlinear Least-Squares Algorithm Found in MINPACK, Plus Support for Bounds

## Description

wfct can be supplied to the weights argument of nlsLM or nls, and facilitates specification of weighting schemes.

## Usage

 1 wfct(expr) 

## Arguments

 expr An expression specifying the weighting scheme as described in the Details section below.

## Details

The weighting function can take 5 different variable definitions and combinations thereof:

• the name of the predictor (independent) variable

• the name of the response (dependent) variable

• error: if replicates y_{ij} exist, the error sigma_{ij}

• fitted: the fitted values hat{y}_i of the model

• resid: the residuals y_i - hat{y}_i of the model

For the last two, the model is fit unweighted, fitted values and residuals are extracted and the model is refit by the defined weights.

## Value

The results of evaluation of expr in a new environment, yielding the vector of weights to be applied.

## Author(s)

Andrej-Nikolai Spiess

nlsLM, nls
  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ### Examples from 'nls' doc ### ## note that 'nlsLM' below may be replaced with calls to 'nls' Treated <- Puromycin[Puromycin\$state == "treated", ] ## Weighting by inverse of response 1/y_i: nlsLM(rate ~ Vm * conc/(K + conc), data = Treated, start = c(Vm = 200, K = 0.05), weights = wfct(1/rate)) ## Weighting by square root of predictor \sqrt{x_i}: nlsLM(rate ~ Vm * conc/(K + conc), data = Treated, start = c(Vm = 200, K = 0.05), weights = wfct(sqrt(conc))) ## Weighting by inverse square of fitted values 1/\hat{y_i}^2: nlsLM(rate ~ Vm * conc/(K + conc), data = Treated, start = c(Vm = 200, K = 0.05), weights = wfct(1/fitted^2)) ## Weighting by inverse variance 1/\sigma{y_i}^2: nlsLM(rate ~ Vm * conc/(K + conc), data = Treated, start = c(Vm = 200, K = 0.05), weights = wfct(1/error^2))