NEWS | R Documentation |

Replace deprecated (as of R 4.2.0) macro DOUBLE_EPS by DBL_EPSILON in C code.

Fix incorrect usage of

`all.equal`

in tests.

Generic versions of

`var`

and`sd`

with methods for grouped data. The default methods (for individual data) call the standard functions of the stats package. Grouped data methods contributed by Walter Garcia-Fontes walter.garcia@upf.edu.Method of

`summary`

for grouped data objects contributed by Walter Garcia-Fontes walter.garcia@upf.edu.Examples for the new methods for grouped data objects in

`“lossdist”`

demonstration**R**script.

Use

`USE_FC_LEN_T`

in the C prototypes of LAPACK functions to correspond to code produced by gfortran >= 7. The mechanism was introduced in**R**3.6.2 and is planned to make its use obligatory in**R**4.2.0.Miscellaneous fixes to formulas for grouped data in the documentation for

`mean.grouped.data`

and`emm`

, as well as in the “modeling” package vignette.

Due to its use of

`log1mexp`

since the previous release, the package depends on**R**>= 4.1.0.

Carry over the new implementation of the Cornish-Fisher Expansion of base

**R**used by`qlogarithmic`

and`qpoisinvgauss`

.Fix computation of

`[pq]zmpois`

,`[pq]zmbinom`

and`[pq]zmnbinom`

following fixes to the underlying base**R**functions introduced in r80271 of**R**sources. With thanks to B.D. Ripley and Martin Maechler.

`qinvgauss`

now returns a finite value when*1.5/\code{shape} > 1000*. Thanks to Bettina Grün bettina.gruen@wu.ac.at for the fix.A protection against rounding errors now ensures that

`qzmlogarithmic(1 - pzmlogarithmic(x), lower.tail = FALSE) == x`

is always`TRUE`

.In

`?dburr`

, the scale parameter appeared in the denominator of the density instead of*x*. Thanks to Etienne Guy for the heads up.The package tests now correctly use

`stopifnot`

with argument`exprs`

explicitly named.The formula for the moment of order

*k*for grouped data in`?emm`

fixed in version 2.3-3 for the LaTeX version is now also fixed for the text version. Thanks (again) to Walter Garcia-Fontes.

`rcompound`

and`rmixture`

now correctly find objects defined higher in the call stack.

`rmixture`

now randomly shuffles the variates by default and gains an argument`shuffle`

(`TRUE`

by default). Using`shuffle = FALSE`

restores the previous behaviour where the output vector contains all the random variates from the first model, then all the random variates from the second model, and so on. When the order of the random variates is irrelevant, this cuts execution time roughly in half. Thanks to Adam Kałdus akaldus@wp.pl for the stimulating comments on this matter.

The number of variates returned by

`rmixture`

is now the length of argument`n`

if larger than 1, like other`r<dist>`

functions.`rmixture`

now checks the validity of its arguments.

Support functions

`[dpqrm,lev]fpareto`

for the Feller-Pareto distribution and related Pareto distributions with a location parameter. The Feller-Pareto defines a large family of distributions encompassing the transformed beta family and many variants of the Pareto distribution. Using the nomenclature of Arnold (2015), the following distributions are now supported by actuar: Feller-Pareto, Pareto IV, Pareto III, and Pareto II. The Pareto I was already supported under the name Single Parameter Pareto. Contributed by Christophe Dutang, Vincent Goulet and Nicholas Langevin.The package now exposes through an API its 200+ C routines for probability functions and the beta integral. This is documented in a new section of the “distributions” package vignette. See file ‘include/actuarAPI.h’ in the package installation directory for the complete list of exported routines.

Improvements to the accuracy in the right tail of the

`p<dist>`

and`lev<dist>`

functions for most probability distributions of the transformed beta family. Achieved by replacing`pbeta(u, a, b, lower.tail)`

for*u > 0.5*with`pbeta(1 - u, b, a, !lower.tail)`

and an accurate computation of`u`

. Contributed by Nicholas Langevin.The C workhorse

`betaint_raw`

behind`betaint`

gains an additional argument to receive an accurate value of*1 - x*. Used extensively to improve accuracy of the`lev<dist>`

functions for the transformed beta family. Contributed by Nicholas Langevin.The “distributions” package vignette now regroups distributions of the transformed beta families and the single parameter Pareto under the umbrella of the Feller-Pareto family of distributions. The vignette now also includes diagrams showing the interrelations between the members of this family, as well as between the members of the transformed gamma and inverse transformed gamma families.

Exhaustive regression tests for probability functions.

Improvements to the simulation algorithm for zero-modified discrete distributions in the

*p0m < p0*case. Contributed by Nicholas Langevin.`dpoisinvgauss`

no longer returns`NaN`

for large values of`x`

. Solved by computing probabilities recursively instead of by calling`bessel_k`

(the latter would overflow for large`nu`

and propagate`NaN`

). Computations are actually about twice as fast.`ppoisinvgauss`

now honors argument`lower_tail`

.`qpoisinvgauss`

no longer fails with`mu = Inf`

and`log.p = TRUE`

.`betaint(x, Inf, b)`

now returns`Inf`

instead of`NaN`

.`betaint(.Machine$double.xmin, a, b)`

, with*b < 0*, now returns 0 instead of`NaN`

.`d<dist>`

and`p<dist>`

functions for all continuous size distributions now handle limiting cases for infinite scale parameter, or for zero non-scale parameters, consistently with functions of base**R**.Affected functions are:

`[dp]trbeta`

,`[dp]burr`

,`[dp]llogis`

,`[dp]paralogis`

,`[dp]genpareto`

,`[dp]pareto`

,`[dp]invburr`

,`[dp]invpareto`

,`[dp]invparalogis`

in the Transformed Beta family;`[dp]trgamma`

,`[dp]invtrgamma`

,`[dp]invgamma`

,`[dp]invweibull`

,`[dp]invexp`

in the Transformed Gamma family;`[dp]lgamma`

,`[dp]gumbel`

,`[dp]invgauss`

,`[dp]genbeta`

.`levinvexp`

no longer returns`NaN`

for finite order.

Support for the Pareto II distributions comes from functions

`[dpqrm,lev]pareto2`

. These functions were*aliases*to`[dpqrm,lev]pareto`

in previous version of actuar. The new functions are*not*backward compatible. Therefore, calls to the`*pareto2`

functions of previous versions of actuar will return wrong results and should be replaced by calls to`*pareto`

functions.

Functions

`[m,lev,mgf]invGauss`

that were deprecated in version 2.0-0.

Older news can be found in files ‘NEWS.2.Rd’ (2.x series), ‘NEWS.1.Rd’ (1.x series) and ‘NEWS.0.Rd’ (0.x series).