rFSA: An R Package for Finding Best Subsets and Interactions

Herein we present the R package rFSA, which implements an algorithm for improved variable selection. The algorithm searches a data space for models of a user-specified form that are statistically optimal under a measure of model quality. Many iterations afford a set of feasible solutions (or candidate models) that the researcher can evaluate for relevance to his or her questions of interest. The algorithm can be used to formulate new or to improve upon existing models in bioinformatics, health care, and myriad other fields in which the volume of available data has outstripped researchers’ practical and computational ability to explore larger subsets or higher-order interaction terms. The package accommodates linear and generalized linear models, as well as a variety of criterion functions such as Allen’s PRESS and AIC. New modeling strategies and criterion functions can be adapted easily to work with rFSA.

Joshua Lambert , Liyu Gong , Corrine F. Elliott , Katherine Thompson , Arnold Stromberg

Supplementary materials

Supplementary materials are available in addition to this article. It can be downloaded at RJ-2018-059.zip

CRAN packages used

rFSA, leaps, glmulti, glmnet, hierNet, hashmap, geepack, devtools

CRAN Task Views implied by cited packages

SocialSciences, ChemPhys, Econometrics, MachineLearning, Survival


Text and figures are licensed under Creative Commons Attribution CC BY 4.0. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".


For attribution, please cite this work as

Lambert, et al., "The R Journal: rFSA: An R Package for Finding Best Subsets and Interactions", The R Journal, 2018

BibTeX citation

  author = {Lambert, Joshua and Gong, Liyu and Elliott, Corrine F. and Thompson, Katherine and Stromberg, Arnold},
  title = {The R Journal: rFSA: An R Package for Finding Best Subsets and Interactions},
  journal = {The R Journal},
  year = {2018},
  note = {https://doi.org/10.32614/RJ-2018-059},
  doi = {10.32614/RJ-2018-059},
  volume = {10},
  issue = {2},
  issn = {2073-4859},
  pages = {295-308}