rcompound
will now correctly retrieve the simulation
models passed down from other functions as expressions objects.
One error message in rmixture
was quoting the wrong
argument.
The generics elev
and ogive
no longer rely on
local variables added to the environment in which the method is
evaluated by UseMethod
. This “feature” should be
removed from R in the next major release. Thanks to Luke
Thierney [email protected] for the direct
notification and for the pointer to a fix.
rcomphierarc
is now the base name for the simulation
function of compound hierarchical models, whereas simul
is an alias retained for backward compatibility.
The alias simpf
for simul
(or
rcomphierarc
) is extinct.
rcompound
, rcomppois
and rmixture
evaluate their model arguments in the correct frame for a larger
sets of circumstances, notably when called inside another
function. ?rmixture
provides more information and
examples on this matter for that function.
Package vignettes now use the STYX2 fonts for text and Fira Mono for code.
Include prototypes for all C level functions to please
-Wstrict-prototypes
.
Italian translations contributed by Daniele Medri [email protected].
Package help file; use ?actuar
to read.
New entry in the CITATION file for the paper in the Journal of Statistical Software presenting our implementation of the Feller-Pareto family of distributions.
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
[email protected].
Method of summary
for grouped data objects
contributed by Walter Garcia-Fontes
[email protected].
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
[email protected] 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 [email protected] 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 p_0^M < p_0
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.