General P-Splines
General P-splines are non-uniform B-splines penalized by a general difference penalty, proposed by Li and Cao (2022). Constructible on arbitrary knots, they extend the standard P-splines of Eilers and Marx (1996). They are also related to the O-splines of O'Sullivan (1986) via a sandwich formula that links a general difference penalty to a derivative penalty. The package includes routines for setting up and handling difference and derivative penalties. It also fits P-splines and O-splines to (x, y) data (optionally weighted) for a grid of smoothing parameter values in the automatic search intervals of Li and Cao (2023). It aims to facilitate other packages to implement P-splines or O-splines as a smoothing tool in their model estimation framework.
Version 1.1 will appear on CRAN sometime in May, 2023.
install.packages("gps")
## you may need to first install package 'remotes' from CRAN
remotes::install_github("ZheyuanLi/gps")
R code for Li and Cao (2022) is at: https://github.com/ZheyuanLi/gps-vignettes/blob/main/gps1.pdf
R code for Li and Cao (2023) is at: https://github.com/ZheyuanLi/gps-vignettes/blob/main/gps2.pdf