wfct: Weighting function that can be supplied to the 'weights'...

View source: R/wfct.R

wfctR Documentation

Weighting function that can be supplied to the weights argument of nlsLM or nls

Description

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

Usage

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

See Also

nlsLM, nls

Examples


### 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))


minpack.lm documentation built on April 13, 2022, 9:07 a.m.

Related to wfct in minpack.lm...