ccylcop {cylcop} | R Documentation |
Conditional Distributions of Circular-Linear Copulas
Description
Calculates the conditional distributions and their inverses of circular-linear copulas and 2-dimensional linear-linear copulas.
Usage
ccylcop(u, copula, cond_on = 2, inverse = FALSE, ...)
## S4 method for signature 'Copula'
ccylcop(u, copula, cond_on, inverse)
## S4 method for signature 'cyl_cubsec'
ccylcop(u, copula, cond_on = 2, inverse = FALSE)
## S4 method for signature 'cyl_quadsec'
ccylcop(u, copula, cond_on = 2, inverse = FALSE)
## S4 method for signature 'cyl_rect_combine'
ccylcop(u, copula, cond_on = 2, inverse = FALSE)
## S4 method for signature 'cyl_rot_combine'
ccylcop(u, copula, cond_on = 2, inverse = FALSE)
## S4 method for signature 'cyl_vonmises'
ccylcop(u, copula, cond_on = 2, inverse = FALSE)
Arguments
u |
matrix (or vector) of numeric
values in |
copula |
R object of class ' |
cond_on |
column number of |
inverse |
logical indicating whether the inverse of the conditional copula is calculated. |
... |
additional arguments. |
Details
This is a generic that calls the function copula::cCopula()
for 2-dimensional 'Copula
' objects from the 'copula'
package for which copula::cCopula()
is available. If
copula::cCopula()
is not available, the conditional copula is
calculated numerically. For 'cyl_copula
' objects,
the conditional copula is calculated analytically or numerically
(depending on the copula and the values of u
).
Note that the input arguments and the
output of cylcop::ccylcop()
differ from those of
copula::cCopula()
.
Value
A vector containing the values of the distribution of the copula at
u[,-cond_on]
conditional on the values of u[,cond_on]
.
References
Nelsen RB (2006). An Introduction to Copulas, volume 139 of Lecture Notes in Statistics. Springer New York, New York, NY. ISBN 978-0-387-98623-4, doi:10.1007/978-1-4757-3076-0, https://link.springer.com/book/10.1007/978-1-4757-3076-0.
Hodel FH, Fieberg JR (2021). “Cylcop: An R Package for Circular-Linear Copulae with Angular Symmetry.” bioRxiv. doi:10.1101/2021.07.14.452253, https://www.biorxiv.org/content/10.1101/2021.07.14.452253v3/.
See Also
copula::cCopula()
Examples
cop <- cyl_quadsec(0.1)
#calculate C_u(v) with u = 0.1 and v = 0.5
cylcop::ccylcop(u = c(0.1, 0.5), copula = cop, cond_on = 1, inverse = FALSE)
#calculate C^-1_v(u) with u = 0.1 and v = 0.5 and with u = 0.4 and v = 0.2
cylcop::ccylcop(u = rbind(c(0.1, 0.5), c(0.4, 0.2)), copula = cop, cond_on = 2, inverse = TRUE)