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.1 (2026-06-24)
# Platform: x86_64-pc-linux-gnu
# Running under: Ubuntu 26.04.1 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.32.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.6  rmarkdown_2.32
# 
# loaded via a namespace (and not attached):
#  [1] Matrix_1.7-6       gtable_0.3.6       jsonlite_2.0.0     compiler_4.6.1    
#  [5] crayon_1.5.3       Rcpp_1.1.2         stringr_1.6.0      jquerylib_0.1.4   
#  [9] scales_1.4.0       yaml_2.3.12        fastmap_1.2.0      lattice_0.23-1    
# [13] plyr_1.8.9         ggplot2_4.0.3      R6_2.6.1           mixsqp_0.3-54     
# [17] knitr_1.52         MASS_7.3-66        maketools_1.3.2    zigg_0.0.2        
# [21] bslib_0.12.0       RColorBrewer_1.1-3 rlang_1.3.0        stringi_1.8.9     
# [25] cachem_1.1.0       reshape_0.8.10     xfun_0.61          sass_0.4.10       
# [29] sys_3.4.3          S7_0.2.2           RcppParallel_6.2.1 otel_0.2.0        
# [33] cli_3.6.6          magrittr_2.0.5     digest_0.6.39      grid_4.6.1        
# [37] irlba_2.4.1        lifecycle_1.0.5    vctrs_0.7.3        Rfast_2.1.5.2     
# [41] evaluate_1.0.5     glue_1.8.1         farver_2.1.2       buildtools_1.0.0  
# [45] reshape2_1.4.5     matrixStats_1.5.0  tools_4.6.1        htmltools_0.5.9