diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..2de5b964 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,4 @@ +# All files are checked into the repo with LF +* text=auto +# These files are checked out using LF locally +configure.ac eol=lf \ No newline at end of file diff --git a/R-package/DESCRIPTION b/R-package/DESCRIPTION index a7e5566d..d02cb2fe 100644 --- a/R-package/DESCRIPTION +++ b/R-package/DESCRIPTION @@ -32,7 +32,7 @@ Imports: LinkingTo: Rcpp, RcppEigen -RoxygenNote: 7.1.2 +RoxygenNote: 7.2.3 Suggests: testthat, knitr, diff --git a/R-package/NEWS.md b/R-package/NEWS.md index 9945a99c..efbc405b 100644 --- a/R-package/NEWS.md +++ b/R-package/NEWS.md @@ -3,6 +3,10 @@ * Allow the other criterion for model selection: AUC for (multinomial) logistic regression such as the area under the curve (AUC). * Simplify the C++ code structure. * Fix note "Specified C++11: please update to current default of C++17" in CRAN. +* Support no-intercept GLM model by param 'fit.intercept'. +* Allow to restrict the range of estimation for beta by param 'beta.high' and 'beta.low'. +* Fix a bug when support.size is 0. +* Add cite message when load 'abess'. # abess 0.4.6 diff --git a/R-package/R/utility.R b/R-package/R/utility.R index b07d3f1c..af1a54e5 100644 --- a/R-package/R/utility.R +++ b/R-package/R/utility.R @@ -1,7 +1,7 @@ .onAttach <- function(libname, pkgname) { packageStartupMessage("\n Thank you for using abess! To acknowledge our work, please cite the package:") - packageStartupMessage("\n Zhu J, Wang X, Hu L, Huang J, Jiang K, Zhang Y, Lin S, Zhu J (2022). “abess: A Fast Best Subset Selection Library in Python and R.” Journal of Machine Learning Research, 23(202), 1–7. https://www.jmlr.org/papers/v23/21-1060.html.") + packageStartupMessage("\n Zhu J, Wang X, Hu L, Huang J, Jiang K, Zhang Y, Lin S, Zhu J (2022). 'abess: A Fast Best Subset Selection Library in Python and R.' Journal of Machine Learning Research, 23(202), 1-7. https://www.jmlr.org/papers/v23/21-1060.html.") } match_support_size <- function(object, support.size) { diff --git a/R-package/man/abess-package.Rd b/R-package/man/abess-package.Rd index 5d956e22..90105d1b 100644 --- a/R-package/man/abess-package.Rd +++ b/R-package/man/abess-package.Rd @@ -6,7 +6,7 @@ \alias{_PACKAGE} \title{abess: Fast Best Subset Selection} \description{ -Extremely efficient toolkit for solving the best subset selection problem . This package is its R interface. The package implements and generalizes algorithms designed in that exploits a novel sequencing-and-splicing technique to guarantee exact support recovery and globally optimal solution in polynomial times for linear model. It also supports best subset selection for logistic regression, Poisson regression, Cox proportional hazard model, Gamma regression, multiple-response regression, multinomial logistic regression, ordinal regression, (sequential) principal component analysis, and robust principal component analysis. The other valuable features such as the best subset of group selection and sure independence screening are also provided. +Extremely efficient toolkit for solving the best subset selection problem \url{https://www.jmlr.org/papers/v23/21-1060.html}. This package is its R interface. The package implements and generalizes algorithms designed in \doi{10.1073/pnas.2014241117} that exploits a novel sequencing-and-splicing technique to guarantee exact support recovery and globally optimal solution in polynomial times for linear model. It also supports best subset selection for logistic regression, Poisson regression, Cox proportional hazard model, Gamma regression, multiple-response regression, multinomial logistic regression, ordinal regression, (sequential) principal component analysis, and robust principal component analysis. The other valuable features such as the best subset of group selection \doi{10.1287/ijoc.2022.1241} and sure independence screening \doi{10.1111/j.1467-9868.2008.00674.x} are also provided. } \seealso{ Useful links: diff --git a/R-package/man/abess.Rd b/R-package/man/abess.Rd index 1c7281c4..e9981d1a 100644 --- a/R-package/man/abess.Rd +++ b/R-package/man/abess.Rd @@ -15,6 +15,9 @@ tune.type = c("gic", "ebic", "bic", "aic", "cv"), weight = NULL, normalize = NULL, + fit.intercept = TRUE, + beta.low = -.Machine$double.xmax, + beta.high = .Machine$double.xmax, c.max = 2, support.size = NULL, gs.range = NULL, @@ -91,6 +94,14 @@ scaling the columns of \code{x} to have \eqn{\sqrt n} norm. If \code{normalize = NULL}, \code{normalize} will be set \code{1} for \code{"gaussian"} and \code{"mgaussian"}, \code{3} for \code{"cox"}. Default is \code{normalize = NULL}.} +\item{fit.intercept}{A boolean value indicating whether to fit an intercept. +We assume the data has been centered if \code{fit.intercept = FALSE}. +Default: \code{fit.intercept = FALSE}.} + +\item{beta.low}{A single value specifying the lower bound of \eqn{\beta}. Default is \code{-.Machine$double.xmax}。} + +\item{beta.high}{A single value specifying the upper bound of \eqn{\beta}. Default is \code{.Machine$double.xmax}。} + \item{c.max}{an integer splicing size. Default is: \code{c.max = 2}.} \item{support.size}{An integer vector representing the alternative support sizes.