cardUC.RdDensity, distribution function, quantile function and random generation for the cardioid distribution.
dcard(x, mu, rho, log = FALSE)
pcard(q, mu, rho, lower.tail = TRUE, log.p = FALSE)
qcard(p, mu, rho, tolerance = 1e-07, maxits = 500,
lower.tail = TRUE, log.p = FALSE)
rcard(n, mu, rho, ...)vector of quantiles.
vector of probabilities.
number of observations.
Same as in runif.
See cardioid for more information.
The first two are control parameters for the algorithm used
to solve for the roots of a nonlinear system of equations;
tolerance controls for the accuracy and maxits
is the maximum number of iterations. rcard calls
qcard so the ... can be used to vary the
two arguments.
Logical.
If log = TRUE then the logarithm of the density is
returned.
See cardioid, the VGAM family function
for estimating the two parameters by maximum likelihood
estimation, for the formula of the probability density
function and other details.
dcard gives the density,
pcard gives the distribution function,
qcard gives the quantile function, and
rcard generates random deviates.
Convergence problems might occur with rcard.
if (FALSE) { # \dontrun{
mu <- 4; rho <- 0.4; x <- seq(0, 2*pi, len = 501)
plot(x, dcard(x, mu, rho), type = "l", las = 1, ylim = c(0, 1),
ylab = paste("[dp]card(mu=", mu, ", rho=", rho, ")"),
main = "Blue is density, orange is the CDF", col = "blue",
sub = "Purple lines are the 10,20,...,90 percentiles")
lines(x, pcard(x, mu, rho), col = "orange")
probs <- seq(0.1, 0.9, by = 0.1)
Q <- qcard(probs, mu, rho)
lines(Q, dcard(Q, mu, rho), col = "purple", lty = 3, type = "h")
lines(Q, pcard(Q, mu, rho), col = "purple", lty = 3, type = "h")
abline(h = c(0,probs, 1), v = c(0, 2*pi), col = "purple", lty = 3)
max(abs(pcard(Q, mu, rho) - probs)) # Should be 0
} # }