A minimal example

In this short vignette, we fit a sparse linear regression model with up to \(L > 0\) non-zero effects. Generally, there is no harm in over-stating \(L\) (that is, the method is pretty robust to overfitting), except that computation will grow as \(L\) grows.

Here is a minimal example:

library(susieR)
set.seed(1)
n    <- 1000
p    <- 1000
beta <- rep(0,p)
beta[c(1,2,300,400)] <- 1
X   <- matrix(rnorm(n*p),nrow=n,ncol=p)
y   <- X %*% beta + rnorm(n)
res <- susie(X,y,L=10)
plot(coef(res)[-1],pch = 20)
&nbsp;

 

Plot the ground-truth outcomes vs. the predicted outcomes:

plot(y,predict(res),pch = 20)
&nbsp;

 

Session information

Here are some details about the computing environment, including the versions of R, and the R packages, used to generate these results.

sessionInfo()
# R version 4.6.0 (2026-04-24)
# Platform: x86_64-pc-linux-gnu
# Running under: Ubuntu 24.04.4 LTS
# 
# Matrix products: default
# BLAS:   /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3 
# LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.26.so;  LAPACK version 3.12.0
# 
# locale:
#  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
#  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
#  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
#  [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
#  [9] LC_ADDRESS=C               LC_TELEPHONE=C            
# [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       
# 
# time zone: Etc/UTC
# tzcode source: system (glibc)
# 
# attached base packages:
# [1] stats     graphics  grDevices utils     datasets  methods   base     
# 
# other attached packages:
# [1] L0Learn_2.1.0  susieR_0.16.5  rmarkdown_2.31
# 
# loaded via a namespace (and not attached):
#  [1] Matrix_1.7-5          gtable_0.3.6          jsonlite_2.0.0       
#  [4] compiler_4.6.0        crayon_1.5.3          Rcpp_1.1.1-1.1       
#  [7] stringr_1.6.0         jquerylib_0.1.4       scales_1.4.0         
# [10] yaml_2.3.12           fastmap_1.2.0         lattice_0.22-9       
# [13] plyr_1.8.9            ggplot2_4.0.3         R6_2.6.1             
# [16] mixsqp_0.3-54         knitr_1.51            MASS_7.3-65          
# [19] maketools_1.3.2       zigg_0.0.2            bslib_0.11.0         
# [22] RColorBrewer_1.1-3    rlang_1.2.0           stringi_1.8.7        
# [25] cachem_1.1.0          reshape_0.8.10        xfun_0.58            
# [28] sass_0.4.10           sys_3.4.3             S7_0.2.2             
# [31] RcppParallel_5.1.11-2 otel_0.2.0            cli_3.6.6            
# [34] magrittr_2.0.5        digest_0.6.39         grid_4.6.0           
# [37] irlba_2.3.7           lifecycle_1.0.5       vctrs_0.7.3          
# [40] Rfast_2.1.5.2         evaluate_1.0.5        glue_1.8.1           
# [43] farver_2.1.2          buildtools_1.0.0      reshape2_1.4.5       
# [46] matrixStats_1.5.0     tools_4.6.0           htmltools_0.5.9