Using overlap grouped-lasso penalties, 'gamsel' selects whether a term in a 'gam' is nonzero, linear, or a non-linear spline (up to a specified max df per variable). It fits the entire regularization path on a grid of values for the overall penalty lambda, both for gaussian and binomial families. See
This package vits a GAM model using a group lasso path. For each variable it is selected as 0, linear, or nonlinear with an automatically selected df up to the max allowed per variable.