Compute and plot level curves or level sets of a copula for \(V\) with respect to \(U\) (Nelsen, 2006, pp. 12--13). The level curves at levels \(t \mapsto [0+\Delta t, 1-\Delta t, \Delta t]\) are defined for \(U \mapsto [0+\Delta u, 1-\Delta u, \Delta u]\) by
$$t \mapsto \mathbf{C}(u=U, v)\mbox{,}$$
and solving for \(v\). Plotting is provided by this function because level curves are such an important visual attribute of a copula and highly useful for pedagogic purposes. The above equation is implemented by the inverse of a copula using COPinv
.
level.curvesCOP(cop=NULL, para=NULL, ploton=TRUE, lines=TRUE,
plotMW=FALSE, ramp=TRUE, delu=0.001, delt=0.10,
getlevel=NULL, silent=TRUE, ...)
Typically no values are returned because this function is used for its side effects, but the arguments can be such that the \(\{u, v\}\) for \(\mathbf{C}(u,v) = t\) are returned within an R
list
.
A copula function;
Vector of parameters or other data structure, if needed, to pass to the copula;
A logical to toggle on the plot;
A logical to toggle calls to the lines()
function in R to draw the lines;
A logical to toggle to use the abline()
function in R to plot cross lines for the \(\mathbf{M}\) (M
) and \(\mathbf{W}\) (W
) copulas;
A logical to toggle whether the level curves are ramped in thickness according to the probability of the line;
The increment for \(\Delta u\). The default is 1 part in 1,000, which should often provide enough smoothness for many copulas in practice;
The increment \(\Delta t\) for the level curves to plot, defaults to 10-percent intervals. If delt=0.5
, then only the median plus the consequences of a defined getlevel
is used. If NULL
, then a sequence of \(t\) values is not made and only getlevel
is used (if available);
If defined, then it is inserted into the sequence of levels \(t\) and that level \(t\) \(=\) getlevel
is returned in an R list
data structure. If more than one level is desired, then instead of repeated calls to this function, the joint.curvesCOP
function could be considered;
The argument of the same name given over to try()
wrapping the try()
operation on forming sequences of \(t\) for the curves (see sources); and
Additional arguments to pass to the lines()
function in R.
W.H. Asquith
Nelsen, R.B., 2006, An introduction to copulas: New York, Springer, 269 p.
COPinv
, level.curvesCOP2
, level.setCOP
, joint.curvesCOP