The **PLreg** package allows fitting power logit
regression models. Diagnostic tools associated with the fitted model,
such as the residuals, local influence measures, leverage measures, and
goodness-of- fit statistics, are implemented.

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

```
# install.packages("devtools")
::install_github("ffqueiroz/PLreg") devtools
```

Currently, the package includes 7
members of the power logit class of distributions: the power logit
normal, power logit Student-t, power logit type II logistic, power logit
power exponential, power logit sinh-normal, power logit hyperbolic and
power logit slash distributions. The package provides the `dPL`,
`pPL`, and `qPL` functions to compute the probability
density function, cumulative distribution function and quantile function
of the power logit distribution. Also, the `rPL` function may be
used to generate random samples from power logit distributions. The
basic usages of these functions are:

```
dPL(x, mu, sigma, lambda, zeta = 2, family, log = FALSE)
pPL(q, mu, sigma, lambda, zeta = 2, family, lower.tail = TRUE, log.p = FALSE)
qPL(p, mu, sigma, lambda, zeta = 2, family, lower.tail = TRUE, log.p = FALSE)
rPL(n, mu, sigma, lambda, zeta = 2, family)
```

The main function of the package is
`PLreg()`, which allows to fitting power logit regression model
to proportional data; this explains the name. The arguments of
`PLreg()` are:

```
PLreg(formula, data, subset, na.action, family = c("NO", "LO", "TF", "PE", "SN", "SLASH", "Hyp"),
zeta = NULL, link = c("logit", "probit", "cloglog", "cauchit", "log", "loglog"),
link.sigma = NULL, type = c("pML", "ML"), control = PLreg.control(...),
model = TRUE, y = TRUE, x = FALSE, ...)
```

The `PLreg()` function returns an object of class
“`PLreg`”, similar to “`betareg`” and “`glm`”
objects, for which some methods available. The `summary()` method
returns a standard output, with coefficient estimates, standard errors,
partial Wald tests and p values for the regression coefficients, the
overall goodness-of-fit measure, the pseudo , etc.. The `type` argument in
`summary()` specifies the type of residuals included in the
output; currently three residuals are supported:
`“standardized”`, “quantile” and `“deviance”`.
The `plot()` method draws graphs for diagnostic and influence
analyses.

An important function in the package is
`extra.parameter()`. It can be used to estimate the extra
parameter of some power logit models. The basic usage is:

`extra.parameter(object, lower, upper, grid = 10)`

```
library(PLreg)
#>
#> Attaching package: 'PLreg'
#> The following object is masked from 'package:stats':
#>
#> influence
## basic example code
```

In the following, an example is presented to illustrate the
capacities of package. We use the
`bodyfat_Aeolus` data set, available in the package.

`help(bodyfat_Aeolus, package = "PLreg")`

The response variable is `percentfat` and the covariates are
the sex of the sampled bat (`sex`), the hibernation time
(`days`) and the year that the bat was sampled (`year`).
We start by fitting a power logit power exponential regression model
with constant dispersion and . To select a suitable value for
, use the `extra.parameter()`
function as follows.

```
<- PLreg(percentfat ~ days + sex + year, data = bodyfat_Aeolus,
fitPL_PE_start family = "PE", zeta = 2)
extra.parameter(fitPL_PE_start, lower = 1, upper = 2.5)
```

Then, fit the model with the chosen value for .

```
<- PLreg(percentfat ~ days + sex + year, data = bodyfat_Aeolus,
fitPL_PE family = "PE", zeta = 1.7)
summary(fitPL_PE)
#>
#> Call:
#> PLreg(formula = percentfat ~ days + sex + year, data = bodyfat_Aeolus,
#> family = "PE", zeta = 1.7)
#>
#> Standardized residuals:
#> Min 1Q Median 3Q Max
#> -3.0006 -0.6000 0.0224 0.6353 2.5352
#>
#> Coefficients (median model with logit link):
#> Estimate Std. Error z value Pr(>|z|)
#> (Intercept) -1.1615018 0.0647074 -17.950 <2e-16 ***
#> days -0.0092638 0.0005363 -17.273 <2e-16 ***
#> sexM -0.0499217 0.0570871 -0.874 0.382
#> year2016 0.5176694 0.0607028 8.528 <2e-16 ***
#>
#> Sigma coefficients (dispersion model with log link):
#> Estimate Std. Error z value Pr(>|z|)
#> (sigma) -1.94446 0.07869 -24.71 <2e-16 ***
#>
#> Lambda coefficient:
#> Estimate Std. Error
#> (lambda) 0.0004124 0.067
#> ---
#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#>
#> Family: PL - PE ( 1.7 ) (Power logit power exponential)
#> Estimation method: pML (penalized maximum likelihood)
#> Log-likelihood: 320 on 6 Df
#> Pseudo R-squared: 0.6756
#> Upsilon statistic: 0.04852
#> AIC: -628
#> Number of iterations in BFGS optimization: 20
```

The goodness of fit is assessed using diagnostic graphs through the plot method.

`plot(fitPL_PE, which = 1:4)`

Further details and examples on the R package can be found using the help on R by typing:

`help("PLreg")`

Queiroz, F. F. and Ferrari, S. L. P. (2022). Power logit regression for modeling bounded data. :2202.01697.