Skip to contents

Fit a cross-validated elastic-net / lasso model with glmnet::cv.glmnet and return the per-variant coefficient vector at lambda.min.

Usage

glmnetWeights(X, y, alpha)

Arguments

X

Numeric genotype / design matrix (samples x variants).

y

Numeric response (phenotype) vector of length nrow(X).

alpha

Elastic-net mixing parameter in [0, 1]: 1 = lasso, 0 = ridge, 0.5 = elastic net.

Value

Numeric vector of length ncol(X) of per-variant weights.

Examples

data(eqtlRegionExample)
X <- eqtlRegionExample$X[, 1:30]
y <- eqtlRegionExample$yRes
glmnetWeights(X, y, alpha = 0.5)
#>       [,1]
#>  [1,]    0
#>  [2,]    0
#>  [3,]    0
#>  [4,]    0
#>  [5,]    0
#>  [6,]    0
#>  [7,]    0
#>  [8,]    0
#>  [9,]    0
#> [10,]    0
#> [11,]    0
#> [12,]    0
#> [13,]    0
#> [14,]    0
#> [15,]    0
#> [16,]    0
#> [17,]    0
#> [18,]    0
#> [19,]    0
#> [20,]    0
#> [21,]    0
#> [22,]    0
#> [23,]    0
#> [24,]    0
#> [25,]    0
#> [26,]    0
#> [27,]    0
#> [28,]    0
#> [29,]    0
#> [30,]    0