NEWS  R Documentation 
News for R Package copula
Changes in version 1.14 (20240609, svn r1890)
Bug Fixes

fgmCopula(param, dim)
now checkslength(param)
correctly.
Misc
Mention how to use colors in
?wireframe2
.
Changes in version 1.13 (20231207, svn r1888)
Misc
format fix ("%lld"); use C99
SIZE_MAX
fix "lost braces"

‘nacopulapkg.Rnw’ fix for latex
Avoid false positive warning: generic
sign()
vs "method"sign.2rotC()
.
Changes in version 1.12 (20230120, svn r1882)
Miscellaneous
Avoid long lines in vignette R output.
Replace
sprintf()
bysnprintf()
as it is going to be deprecated in upcoming C environments, e.g., on macOS 13.Fix all current compiler warnings
Changes in version 1.11 (20221117, svn r1880)
Miscellaneous
Fix nonUTF8 accents in C code (‘WARN’ on CRAN).
Decrease the large ‘inst/doc/*.html’ vignettes a bit more, for a smaller package size (for CRAN).
Changes in version 1.10 (20220614, svn r1875)
New Features

fitCopula(<mixCopula>)
now by default usesestimate.variance = TRUE
also with free mixture weights. 
fitLambda()
gets new method"Schmidt.Stadtmueller"
. 
fitMvdc()
works in more cases, e.g. with a mixCopula. 
"mvdc"
class objects no longer inherit from"xcopula"
(a copula) but from new"Xcopula"
(which just contains a copula). using
isTRUE()
andisFALSE()
instead ofidentical(TRUE, .)
etc.
fitCopula(.., method="mpl")
now also catches errors in varcov matrix computations. New
loglikCopulaMany(pList, ..)
function for (more efficiently) computing copula likelihoods for many parameter vectors / values.For elliptic (t, normal) copulas, provide “permuted Toeplitz” dispersion via new
dispstrToep()
which allows to specify a permutation of thed
variables / columns / coordinates to have a Toeplitz correlation structure.
Bug Fixes
New arguments and defaults
keepAttr=FALSE
andcheckCorr=FALSE
for mvtnorm'sMiwa()
should speed uppCopula()
for normal and t copulas.Empirical copula computations tweaks, preventing some erronous computations.
Changes in version 1.01 (20201207, svn r1850)
New Features
The
pCopula()
methods for normal and tcopulas now allow to passalgorithm = .
to pkg mvtnorm's functions. For lower dimensions, notably dimensiond \le 3
, the default is now to typically use a nonrandom algorithm.Such a default algorithm is also used in the (internal) derivative for normal and tcopulas, (
dCdu()
callingdCduEllipCopula()
).invisible improvement in internal
Jscore()
for internalvar.mpl()
computations.For
mixCopula
s, the defaultoptimMethod()
forfitCopula()
is now"LBFGSB"
.When
fitCopula(*, estimate.variance=TRUE)
fails duringoptim(*, hessian=TRUE)
, awarning()
is signalled, and kept as attribute of theNA
valued vcov matrix.Similarly when the hessian inversion fails, the warning message is now returned with the
NA
valued vcov matrix.Smoothed
empCopula()
objects now have the right sampling methods.
Bug Fixes

fitCopula(*, estimate.variance=FALSE)
now returns a0 x 0
matrix as slot@ var.est
in all cases. tweaks some of the regression tests.
For mixture copulas (
mixCopula(.)
) estimation byfm < fitCopula(*, estimate.variance=TRUE)
now is more reasonable:summary(fm)
andvcov(fm)
still stay in the wspace and currently return a warning about notyet implemented Jacobian deltamethod.coef()
,vcov()
, andsummary(fm)
now all have an optional argumentorig = TRUE
, which when set to false will provide results on the ‘lscale’ aka ‘lambdascale’ (instead of the original ‘wscale’) for the weights, such that inference on the ‘lscale’ is available.
Changes in version 1.00 (20200519, svn r1839)
New Features

mixCopula()
objects can now be fit (byfitCopula()
) more generally, as the weights no longer need to be kept fixed, thanks to Maechler'sclr1()
parametrization, and Rebecca Morger's B.Sc thesis. When no
start
parameter vector is specified infitCopula()
, the new (generic) functiongetIniParam()
is used now; it notably has a method for"mixCopula"
copulas.In the
fitCopula*()
functions, thetraceOpt
option now can be a positive integer (instead of justTRUE
andFALSE
) to print trace info only everytraceOpt
objective function evaluation.
Bug Fixes
corrected thinko in
`freeParam<`(<mixcopula>, v)
.more tweaks on fixed / free parameter settings for "mixCopula".
Changes in version 0.99920 (20200203, svn r1833)
New Features

evTestA()
got new optionstrace.lev
andreport.err
for reporting numerical intergration problems. 
gofT2stat()
implements the twosample test statistic of RĂ©millard and Scaillet (2009).
Bug Fixes

rCopula()
of anempCopula
object failed because sampling was done withoutreplace = TRUE
. 
cCopula()
now should work forindepCopula()
and"moCopula"
objects (via internalrosenblatt()
. fix ‘src/empcop.h’ and ‘man/fgmCopula.Rd’ inconsistencies, found by latest checks on CRAN.
Changes in version 0.99919 (20181219, svn r1808)
New Features

exchTest()
gets new argumentties.method
. a new vignette ‘HAXC’ on Hierarchical Archimax Copulas.
New simple classes and constructor
fhCopula()
for lower and upper Frechet–Hoeffding bounds (W
andM
), see?fhCopula
.Empirical copulas now get an explicit class and constructor
empCopula()
.MarshallOlkin copulas for the bivariate case (
d = 2
) get a class representation and are constructed viamoCopula()
.In the case where
loglikCopula(start, u=u, copula=copula)
is+Inf
, as e.g., in the case of data with duplicate columns (perfect correlation), the internalfitCopStart()
and hencefitCopula()
tries harder to work with the iTau()generatedstart
values.The
plot()
method for copula objects uses a somewhat experimental smart default for themain
title.The
"copula"
class now gets itsdimension
slot from the new virtual class"dimCopula"
which contains all copulas with an explicitdimension
slot.the
"indepCopula"
now extends only"dimCopula"
and"parCopula"
and hence no longer has unuseful slots such asparameter
.contributors now are all mentioned in ‘DESCRIPTION’; and all are listed including their ORCID's.

gofCopula()
gets new argumenttest.method
. 
cCopula()
now works forrotCopula
objects and bivariatemixCopula
objects.
Bug Fixes
Bugfix in
dCopula()
method ofempCopula(*, smoothing = "beta")
.Better error messages when copula parameters are
NA
(and hence, e.g.pCopula()
gives an error).Bugfix in
rCopula(, copula = mixCopula())
if the weights are unit vectors.
mvdc(<rotCopula>, *)
now works, too. fixed thinko in internal
chkFun()
called e.g., byperspMvdc()
.
Changes in version 0.99918 (20170831, svn r1681)
New Features

contourplot2()
now gets argumentpretty
, to be passed on, with a better (but not backcompatible) default (!labels
). new
margCopula()
constructor of marginal copulas, currently for normal, t, and Archimedean copulas only.
Bug Fixes

cCopula(*, inverse=TRUE)
now also works for nonClayton Archmedean copulas.
Changes in version 0.99917 (20170617, svn r1661)
New Features

C.n()
and several tests now get an optional argument (ties.method
or similar) to specify what happens with ties. 
setTheta(cop, val)
now also works for a partially fixed parameter elliptical copula. Export the (formerly hidden) utilities
isFree()
,isFreeP()
, andnParam()
.New
rLatinHypercube()
andrAntitheticVariates()
utilities.
dCopula(u, copula, *)
now signals an error ifncol(u)
anddim(copula)
differ. 
corKendall()
now checks forNA
's by default and then works pairwisely. It is now documented and exported. As a consequence,etau(U, *)
now also works in the caseU
has missing values.
Bug Fixes
In the case of ties, several GOF tests now use a better default method for dealing with ties in their calls to
pobs()
.
pobs(<zoo>, .)
continues working. 
setTheta(<tCopula>, ..)
now works correctly with free/nonfree parts of the parameters. 
fgmCopula()
fixed to work withrotCopula()
. 
iTau()
fixed forjoeCopula()
. Improved warning messages in
iTau()
andiRho()
.
rCopula(<frankCopula>)
now also works for the case of large tau andd > 2
(via reparametrized log series distribution).
Changes in version 0.99916 (20170107, svn r1611)
Bug Fixes

pK(u, log.p=TRUE)
now correctly checksu
. 
rotCopula(cop)
now does rotate in the default case. 
vcov(fitCopula(*, "mpl"))
now works (returning a matrix ofNA
s). 
fitCopula(joeCopula(), *, method = "itau")
gave an error instead of warning. 
setTheta(<rotCopula>, <par>)
now works. 
xvCopula(<rotCopula>, <data>)
now works. 
fitMvdc()
now works again for a “df.fixedtCopula”. 
"mvdc"
methods forcontour()
,persp()
andwireframe2()
now useylim
correctly. 
cCopula(<archmCopula>)
failed for 2dimensional AMH, Clayton, and Frank in the negative\tau
case.Also,
cCopula()
sometimes returned a vector instead of ann \times k
matrix (which?cCopula
has promised always). 
pCopula()
was wrong (but gave a warning) for some (unbalanced) nested archimedean copulas.
New Features
Adding an abstraction level, using (currently hidden) "setr" and "getr" methods, allows to simplify class definition for
"khoudrajiCopula"
andfitCopula()
now to also work e.g. forrotCopula(khoudrajiCopula(.), ..)
.The
coef()
method forfitCopula()
orfitMvdc()
results can get the matrix of parameters and their standard errors by the new optionSE = TRUE
.
summary(fitCopula(*))
andsummary(fitMvdc(*))
have a nicerprint()
method and print more than just printing the fitted objects. Note that printing
fitCopula(*)
orfitMvdc(*)
no longer computes and prints standard errors ("Std. Error"
), but printingsummary(fit..(*))
does (see above).improved documentation about
pK()
andqK()
.
mixCopula()
and"mixCopula"
class for arbitrary finite mixtures of copulas. 
splom2()
now works when a single “global” color is specified.
Changes in version 0.99915 (20160724, svn r1438)

C.n(u, X, *)
now hasX
as second argument, callspobs(X)
and thenF.n(*,*)
; previously,C.n
andF.n
were practically equivalent, which has been confusing. 
pobs()
is more flexible, accepting numeric vectors, and e.g., keeping"xts"
and"zoo"
class attributes. improved R markdown vignettes.
Internally, notably for
etau()
and"itau"
fitting, make use of fast Kendall's tau from package pcaPP (via hiddencorKendall()
).
fitCopula()
gets now method"itau.mpl"
fortCopula
s, which implements the robust estimation method of Mashal and Zeevi (2002). various improvements in
gofCopula()
related to the alternative test statistics (method != "Sn"
).new
xvCopula()
function: crossvalidated copula fitting for model selection.Asymmetric copulas are now better implemented; previous
asymCopula()
andasymExplicitCopula()
are deprecated and to be replaced bykhoudrajiCopula()
.
“Rotated” copulas, i.e., generalizations of “survival” copulas, are now available via
rotCopula()
. 
gofEVCopula()
's defaultoptim.method
has been changed from"NelderMead"
to"BFGS"
in line withfitCopula()
and because NelderMead is warned against in the 1dimensional case. new
getAname()
useful e.g., inhtrafo()
.Parts of a parameter vector can be kept fixed (“known”), see
fixedPar
. The"tCopula"
and"tevCopula"
classes consequently no longer have adf
slot.Functions deprecated (
.Deprecated
) since 2012, namely,K
,beta.hat
,calibKendallsTau
,calibSpearmansRho
,kendallsTau
,spearmansRho
,genInv
,genFun
,genFunDer1
,genFunDer2
,Afun
,AfunDer
,Anfun
,dcopula
,pcopula
,rcopula
,dmvdc
,pmvdc
, andrmvdc
are now defunct (the user still sees them and gets a useful error message from.Defunct()
!).Function
tailindex
is deprecated in favor of newlambda()
;gofMB()
andgofPB()
calls are deprecated and to be replaced bygofCopula(.., simulation = *)
.Function
rtrafo()
has now been deprecated, users should work withcCopula()
instead.Various improvements in data visualization tools such as
contour()
,persp()
,contourplot2()
,pairs2()
,wireframe2()
,cloud2()
andsplom2()
.
qK()
getslog.p
option.
Changes in version 0.99914 (20151026, svn r1198)
New demo "NALC" on nested Archimedean Levy copulas
Explicitly import from "base packages"

contour(<mvdc>, ..)
gets new defaultbox01=FALSE
, as a[0,1]^2
box does not make sense for general multivariate distributions. 
coeffG()
is exported (though still partly subject to change) new (rmarkdown > knitr) vignette
wild_animals
from former demo.
pCopula(*, cop)
for normal or t copulascop
now accepts optional arguments to be passed to the underlying (numerical integration) algorithm from package mvtnorm. fixed the (dontrun) 3d example of
gofCopula
.
Changes in version 0.99913 (20150305, svn r1156)
New demo on tail compatibility
lsum(): also work for vectors and when result is zero, i.e.
log(0) == Inf
.
Changes in version 0.99912 (20141001)
Fix bug which did not allow to set nondefault
optim.method
ingofCopula()
.Not fully backcompatible change:
gofCopula()
now passes all extra arguments via...
tofitCopula()
. Before,gofPB()
passed them to the trafo.method.
Changes in version 0.99911 (20140905)
The default for the optional
estimate.variance
argument offitCopula()
andfitMvcd()
now isTRUE
only if the optimization converged.
rtrafo()
is more efficient for "normalCopula". 
fitMvdc()
now also works when margin parameter has length >1. 
fitMvdc()
gains optional argumentslower
andupper
for specifying boxconstraints to optim().
Changes in version 0.99910 (20140618, r1116)
Fixes some border cases, notably
psi()
for negative tau Gumbel, Clayton and AMH copulas,
debye[12]()
functions improvements (e.g.,Inf
) New
log1pexp()
from Rmpfr's vignette ‘log1mexp’.
rho(<amhCopula>)
now numerically stable, also works for\theta \approx 0
, using Martin's beautiful formula, as documented in the new vignette ‘rhoAMHdilog.Rnw’. Purely numerical
.psiFrank()
etc; accuracy improvements forpsi()
,rho()
,tau()
for small\alpha
for Frank.New
cospi2()
,tanpi()
;iTau()
andiRho()
have a smaller tolerance of1e7
and hence are more accurate where they use inversion.
polylog(x, 2)
now uses gsl'sdilog()
. 
pCopula()
now works for a tcopula withdf=Inf
.
Changes in version 0.9999 (20140505, r1085)

rtrafo()
with new option 'inverse=TRUE', hence can be used for sampling. Fixed overflow bug (seg.fault) for large
n^2 p
Fixed
qqplot2()
case
Changes in version 0.9998 (20140204, r1074)

pobs(*, lower.tail)
new optional argument. new optional argument
indepC.maybe
to (Archimedean) copula constructors.empirical copula functions
C.n()
andF.n()

all.equal(*, tol)
adaption to upcoming R changes.
Changes in version 0.9997 (20130521, r1026)
a bug fix version, as
0.9996
had in one case accidentally introduced a NONback compatible version ingofCopula()
.
Changes in version 0.9996 (20130514)

gofCopula()
gets a newtrafo.method
argument, now also can use (new)htrafo()
in addition to Rosenblatt's transformrtrafo
. ...
Changes in version 0.9995 (20121203)
new backcompatibility feature which allows older R scripts (notably the 2010 JSS paper) to still run without errors.
Changes in version 0.9994 (20121116)
...
Changes in version 0.9993 (20121027)
...
Changes in version 0.9992 (20121025)
...
Changes in version 0.9991 (20120813)
...
Changes in version 0.9990 (20120730)
After the copula week at ETH (July 9–13):
Renaming (and deprecation) “orgy”: ... ...
...
...
...
Changes in version 0.994 (20120703)

dK()
,pK()
,qK()
,rK()
: Kendall's distribution functions. ...
Changes in version 0.992 (20120530)
export
log1mexp()
added facilities for Hofert & Maechler's graphical GOF testing.
fixed corner cases of
dcopulat()
anddcopulaNormal()
.
polyG()
anddsumSibuya()
improvements; possibly using Rmpfr. fixed "boundary overrun" bug in indepence tests built on empirical copula.
Changes in version 0.990 (20120329)
Big merge of former CRAN packages nacopula (Maechler and Hofert) and copula (Yan and Kojadinovic) into new “super package”.
new class
"Copula"
, with[dpr]copula()
methods for "nacopula".