# lmmlasso: Estimation of Linear Mixed Model with Lasso Penalty In ggmix: Variable Selection in Linear Mixed Models for SNP Data

## Description

`lmmlasso` estimates the linear mixed model with lasso penalty

## Usage

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25``` ```lmmlasso(ggmix_object, ...) ## Default S3 method: lmmlasso(ggmix_object, ...) ## S3 method for class 'fullrank' lmmlasso( ggmix_object, ..., penalty.factor, lambda, lambda_min_ratio, nlambda, n_design, p_design, eta_init, maxit, fdev, standardize, alpha, thresh_glmnet, epsilon, dfmax, verbose ) ```

## Arguments

 `ggmix_object` A ggmix_object object of class `lowrank` or `fullrank` `...` Extra parameters. Currently ignored. `penalty.factor` Separate penalty factors can be applied to each coefficient. This is a number that multiplies lambda to allow differential shrinkage. Can be 0 for some variables, which implies no shrinkage, and that variable is always included in the model. Default is 1 for all variables `lambda` A user supplied lambda sequence (this is the tuning parameter). Typical usage is to have the program compute its own lambda sequence based on nlambda and lambda.min.ratio. Supplying a value of lambda overrides this. WARNING: use with care. Do not supply a single value for lambda (for predictions after CV use predict() instead). Supply instead a decreasing sequence of lambda values. glmnet relies on its warms starts for speed, and its often faster to fit a whole path than compute a single fit. `lambda_min_ratio` Smallest value for lambda, as a fraction of lambda.max, the (data derived) entry value (i.e. the smallest value for which all coefficients are zero). The default depends on the sample size nobs relative to the number of variables nvars. If nobs > nvars, the default is 0.0001, close to zero. If nobs < nvars, the default is 0.01. A very small value of lambda.min.ratio will lead to a saturated fit in the nobs < nvars case. `nlambda` the number of lambda values - default is 100. `n_design` total number of observations `p_design` number of variables in the design matrix, excluding the intercept column `eta_init` initial value for the eta parameter, with 0 < η < 1 used in determining lambda.max and starting value for fitting algorithm. `maxit` Maximum number of passes over the data for all lambda values; default is 10^2. `fdev` Fractional deviance change threshold. If change in deviance between adjacent lambdas is less than fdev, the solution path stops early. factory default = 1.0e-5 `standardize` Logical flag for x variable standardization, prior to fitting the model sequence. The coefficients are always returned on the original scale. Default is standardize=FALSE. If variables are in the same units already, you might not wish to standardize. `alpha` The elasticnet mixing parameter, with 0 ≤q α ≤q 1. alpha=1 is the lasso penalty, and alpha=0 the ridge penalty. `thresh_glmnet` Convergence threshold for coordinate descent for updating beta parameters. Each inner coordinate-descent loop continues until the maximum change in the objective after any coefficient update is less than thresh times the null deviance. Defaults value is 1E-7 `epsilon` Convergence threshold for block relaxation of the entire parameter vector Θ = ( β, η, σ^2 ). The algorithm converges when crossprod(Θ_{j+1} - Θ_{j}) < ε . Defaults value is 1E-4 `dfmax` limit the maximum number of variables in the model. Useful for very large `p` (the total number of predictors in the design matrix), if a partial path is desired. Default is the number of columns in the design matrix + 2 (for the variance components) `verbose` display progress. Can be either 0,1 or 2. 0 will not display any progress, 2 will display very detailed progress and 1 is somewhere in between. Default: 0.

## Value

A object of class `ggmix`

`ggmix`