enetLTS (version 1.1.0)

coef.enetLTS: coefficients from the enetLTS object

Description

Extracts model coefficients from object returned by regression model.

Usage

# S3 method for enetLTS
coef(object,vers,zeros,...)

Arguments

object

fitted enetLTS model object.

vers

a character string specifying for which fit to make predictions. Possible values are reweighted (the default) for predicting values from the reweighted fit, raw for predicting values from the raw fit.

zeros

a logical indicating whether to give nonzero coefficients indices. (TRUE, the default) or to omit them (FALSE).

additional arguments from the enetLTS object if needed.

Value

a numeric vector (or a list object for family="multinomial") containing the requested coefficients.

See Also

enetLTS, predict.enetLTS, nonzeroCoef.enetLTS

Examples

Run this code
# NOT RUN {
## for gaussian

set.seed(86)
n <- 100; p <- 25                             # number of observations and variables
beta <- rep(0,p); beta[1:6] <- 1              # 10% nonzero coefficients
sigma <- 0.5                                  # controls signal-to-noise ratio
x <- matrix(rnorm(n*p, sigma),nrow=n)
e <- rnorm(n,0,1)                             # error terms
eps <- 0.1                                    # contamination level
m <- ceiling(eps*n)                           # observations to be contaminated
eout <- e; eout[1:m] <- eout[1:m] + 10        # vertical outliers
yout <- c(x %*% beta + sigma * eout)        # response
xout <- x; xout[1:m,] <- xout[1:m,] + 10      # bad leverage points

# }
# NOT RUN {
fit1 <- enetLTS(xout,yout)
coef(fit1)
coef(fit1,vers="raw")
coef(fit1,vers="reweighted",zeros=FALSE)
# }
# NOT RUN {

## for binomial

eps <-0.05                                     # %10 contamination to only class 0
m <- ceiling(eps*n)
y <- sample(0:1,n,replace=TRUE)
xout <- x
xout[y==0,][1:m,] <- xout[1:m,] + 10;          # class 0
yout <- y                                      # wrong classification for vertical outliers

# }
# NOT RUN {
fit2 <- enetLTS(xout,yout,family="binomial")
coef(fit2)
coef(fit2,vers="reweighted")
coef(fit2,vers="raw",zeros=FALSE)
# }
# NOT RUN {

## for multinomial

n <- 120; p <- 15
NC <- 3                # number of groups
X <- matrix(rnorm(n * p), n, p)
betas <- matrix(1:NC, ncol=NC, nrow=p, byrow=TRUE)
betas[(p-5):p,]=0; betas <- rbind(rep(0,NC),betas)
lv <- cbind(1,X)%*%betas
probs <- exp(lv)/apply(exp(lv),1,sum)
y <- apply(probs,1,function(prob){sample(1:NC, 1, TRUE, prob)})
xout <- X
eps <-0.05                          # %10 contamination to only class 0
m <- ceiling(eps*n)
xout[1:m,] <- xout[1:m,] + 10       # bad leverage points
yout <- y

# }
# NOT RUN {
fit3    <- enetLTS(xout,yout,family="multinomial")
coef(fit3)
coef(fit3,vers="reweighted")
coef(fit3,vers="raw",zeros=FALSE)
# }
# NOT RUN {
# }

Run the code above in your browser using DataLab