| Cylcop {cylcop} | R Documentation |
Distribution, Density, and Random Number Generation for Circular-Linear Copulas'
Description
Calculate the distribution (pcylcop()), the density (dcylcop()),
and generate random
samples (rcylcop()) of a 'cyl_copula' object or a
'Copula' object (package 'copula', only 2-dimensional).
Usage
pcylcop(u, copula)
rcylcop(n, copula)
dcylcop(u, copula, log = FALSE)
## S4 method for signature 'matrix,Copula'
dcylcop(u, copula)
## S4 method for signature 'numeric,Copula'
rcylcop(n, copula)
## S4 method for signature 'matrix,Copula'
pcylcop(u, copula)
## S4 method for signature 'numeric,cyl_cubsec'
rcylcop(n, copula)
## S4 method for signature 'matrix,cyl_cubsec'
dcylcop(u, copula)
## S4 method for signature 'matrix,cyl_cubsec'
pcylcop(u, copula)
## S4 method for signature 'numeric,cyl_quadsec'
rcylcop(n, copula)
## S4 method for signature 'matrix,cyl_quadsec'
dcylcop(u, copula)
## S4 method for signature 'matrix,cyl_quadsec'
pcylcop(u, copula)
## S4 method for signature 'numeric,cyl_rect_combine'
rcylcop(n, copula)
## S4 method for signature 'matrix,cyl_rect_combine'
dcylcop(u, copula)
## S4 method for signature 'matrix,cyl_rect_combine'
pcylcop(u, copula)
## S4 method for signature 'numeric,cyl_rot_combine'
rcylcop(n, copula)
## S4 method for signature 'matrix,cyl_rot_combine'
dcylcop(u, copula)
## S4 method for signature 'matrix,cyl_rot_combine'
pcylcop(u, copula)
## S4 method for signature 'numeric,cyl_vonmises'
rcylcop(n, copula)
## S4 method for signature 'matrix,cyl_vonmises'
dcylcop(u, copula)
## S4 method for signature 'matrix,cyl_vonmises'
pcylcop(u, copula)
Arguments
u |
matrix (or vector) of numeric
values in |
copula |
R object of class ' |
n |
number of random samples to be generated with |
log |
logical indicating if the logarithm of the density
should be returned ( |
Details
For 'Copula' objects, pcylcop() and rcylcop()
just call the functions of the 'copula' package
pCopula() and rCopula(), respectively.
The density is, however, calculated differently in dcylcop() and
dCopula(). The difference is
that copula::dCopula()
will return a density of 0 for points on the boundary of the unit square,
whereas dcylcop() will return the correct density on the boundaries
for both 'cyl_copula' and 'Copula' objects.
Value
The functions pcylcop() and dcylcop() give a vector of
length nrow(u) containing the distribution and the density, respectively,
at the corresponding values of u. The function rcylcop() generates a
matrix with 2 columns and n rows containing
the random samples.
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::dCopula(),
copula::pCopula(),
copula::rCopula().
Examples
set.seed(123)
cop <- cyl_quadsec(0.1)
rcylcop(5, cop)
pcylcop(c(0.3, 0.1), cop)
pcylcop(rbind(c(0.3, 0.1), c(0.2, 1)), cop)
cop <- cyl_rot_combine(copula::frankCopula(2), shift = TRUE)
dcylcop(u = rbind(c(0.1, 0.4), c(1.0, 0.2)), copula = cop)
dcylcop(c(0.1, 0.3), cyl_quadsec(0.1), log = TRUE)
cop <- copula::normalCopula(0.3)
copula::dCopula(c(.Machine$double.eps,0.2),cop)
copula::dCopula(c(0,0.2),cop)
dcylcop(c(.Machine$double.eps,0.2),cop)
dcylcop(c(0,0.2),cop)