Compute TWAS weights via penalized regression (glmnet)
Source:R/regularizedRegressionWrappers.R
glmnetWeights.RdFit 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, methodArgs = GlmnetOptions())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.- methodArgs
Additional arguments forwarded to
glmnet::cv.glmnet, built withGlmnetOptions. A bare list is refused, since it cannot be checked against the engine's formals.
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