Last data update: 2014.03.03

R: Function for fitting QME
qme.fitR Documentation

Function for fitting QME

Description

Function to find QME estimates of the regression coefficients for regression models with truncated response variables. Uses optim. Intended to be called through qme, not on its own, since qme also transforms data into the correct form etc.

Usage

qme.fit(formula, mf, point, direction, bet, cv, ...)

Arguments

formula

a symbolic description of the model to be estimated

mf

the model.frame containing the variables to be used when fitting the model. qme transforms the model frame to the correct form before calling qme.fit. If qme.fit is called on its own the model frame needs to be transformed manually.

point

point of truncation

direction

direction of truncation

bet

starting values to be used by optim. Column matrix with p rows.

cv

threshold value to be used, number or numeric vector of length 1. (See qme, argument cval, for more information).

...

additional arguments to be passed to optim (see the documentation for qme for further details).

Value

a list with components:

startcoef

the starting values of the regression coefficients used by optim

coefficients

the named vector of coefficients

counts

number of iterations used by optim. See the documentation for optim for further details

convergence

from optim. An integer code. 0 indicates successful completion. Possible error codes are
1 indicating that the iteration limit maxit had been reached.
10 indicating degeneracy of the Nelder–Mead simplex.

message

from optim. A character string giving any additional information returned by the optimizer, or NULL.

residuals

the residuals of the model

df.residual

the residual degrees of freedom

fitted.values

the fitted values

Author(s)

Anita Lindmark and Maria Karlsson

See Also

qme

Examples

require(utils)
##Model frame
n <- 10000
x <- rnorm(n,0,2)
y <- 2+x+4*rnorm(n)
d <- data.frame(y=y, x=x)
dl0 <- subset(d, y>0)
mf <- model.frame(y~x, data=dl0)

##Starting values and threshold value
lmmod <- lm(data=mf)
bet <- lmmod$coef
bet <- matrix(bet)
cv <- sqrt(deviance(lmmod)/df.residual(lmmod))

str(qme. <- qme.fit(y~x,mf,point=0,direction="left",bet,cv))

Results