Learn R Programming

BCSreg

The BCSreg package provides tools for fitting Box-Cox symmetric (BCS) and zero-adjusted BCS regression models. It includes diagnostic tools for the fitted models, such as residual analysis, local influence measures, and goodness-of-fit statistics.

Installation

You can install the development version of BCSreg from GitHub with:

# install.packages("pak")
pak::pak("ffqueiroz/BCSreg")

Main functions

Implementation of the Box-Cox symmetric class of distributions

The package currently supports eight members of the BCS class of distributions:

  • Box-Cox hyperbolic,
  • Box-Cox type I logistic,
  • Box-Cox type II logistic,
  • Box-Cox normal,
  • Box-Cox power exponential,
  • Box-Cox sinh-normal,
  • Box-Cox slash,
  • Box-Cox $t$.

The following functions are provided to work with these distributions:

dBCS(x, mu, sigma, lambda, zeta, family = "NO", log = FALSE)

pBCS(q, mu, sigma, lambda, zeta, family = "NO", lower.tail = TRUE, log.p = FALSE)

qBCS(p, mu, sigma, lambda, zeta, family = "NO", lower.tail = TRUE, log.p = FALSE)

rBCS(n, mu, sigma, lambda, zeta, family = "NO")

Implementation of the zero-adjusted Box-Cox symmetric class of distributions

The package also implements zero-adjusted versions of the BCS distributions, suitable for modeling non-negative data with an excess of zeros. The supported families are the zero-adjusted versions of the same eight BCS distributions listed above.

Corresponding functions include:

dZABCS(x, alpha, mu, sigma, lambda, zeta, family = "NO", log = FALSE)

pZABCS(q, alpha, mu, sigma, lambda, zeta, family = "NO", lower.tail = TRUE, log.p = FALSE)

qZABCS(p, alpha, mu, sigma, lambda, zeta, family = "NO", lower.tail = TRUE, log.p = FALSE)

rZABCS(n, alpha, mu, sigma, lambda, zeta, family = "NO")

BCSreg

The main function of the package is BCSreg(), which fits either a BCS or a zero-adjusted BCS regression model to non-negative data. Its usage is:

BCSreg(formula, data, subset, na.action, family = "NO", zeta, link = "log", sigma.link = "log", 
       alpha.link, control = BCSreg.control(...), model = FALSE, y = FALSE, x = FALSE, ...)

The function returns an object of class "BCSreg", which supports generic methods such as print(), summary(), plot(), residuals(), among others.

extra.parameter

An important utility in the package is the extra.parameter() function, which estimates the extra parameter for certain BCS and zero-adjusted models. Its usage is:

extra.parameter(object, family, grid = seq(1, 30, 2), trace = TRUE, plot = TRUE,
                control = BCSreg.control(...), ...)

Reference

Medeiros, R. M. R., and Queiroz, F. F. (2025). Flexible modeling of non-negative continuous data: Box-Cox symmetric regression and its zero-adjusted extension.

Copy Link

Version

Install

install.packages('BCSreg')

Monthly Downloads

177

Version

1.1.1

License

GPL (>= 3)

Issues

Pull Requests

Stars

Forks

Maintainer

Rodrigo Medeiros

Last Published

February 9th, 2026

Functions in BCSreg (1.1.1)

residuals

Extract Residuals for a Box-Cox Symmetric Regression Fit
raycatch

Fishing Data from Todos-os-Santos Bay
summary.BCSreg

Summarizing a Box-Cox Symmetric Regression Fit
renewables2015

Renewable Electricity Output for 186 Countries (2015)
envelope

Normal Probability Plots with Simulated Envelope for a Box-Cox Symmetric Regression Fit
influence

Influence Diagnostics for BCSreg Objects
BCSreg-methods

Extract Information From a Box-Cox Symmetric Regression Fit
ZABCS

The Zero-Adjusted Box-Cox Symmetric Distributions
extra.parameter

Select the Extra Parameter of a Box-Cox Symmetric Regression Model
plot.BCSreg

Diagnostic Plots for a Box-Cox Symmetric Regression Fit
education

Household Expenditures on Basic Education (POF 2017--2018, São Paulo)
BCSregcontrol

Auxiliary for Controlling a Box-Cox Symmetric Fitting
BCS

The Box-Cox Symmetric Distributions
BCSreg

Box-Cox Symmetric Regression for Positive Data