Density function, distribution function, and random generation for the slash distribution.
dslash(x, mu = 0, sigma = 1, log = FALSE,
smallno = .Machine$double.eps*1000)
pslash(q, mu = 0, sigma = 1, very.negative = -10000,
lower.tail = TRUE, log.p = FALSE)
rslash(n, mu = 0, sigma = 1)
dslash
gives the density, and
pslash
gives the distribution function,
rslash
generates random deviates.
vector of quantiles.
Same as runif
.
the mean and standard deviation of the univariate normal distribution.
Logical.
If TRUE
then the logarithm of the density is returned.
Numeric, of length 1.
A large negative value.
For (q-mu)/sigma
values less than this,
the value 0 is returned because
integrate
tends to fail.
A warning is issued.
Similarly, if (q-mu)/sigma
is greater than
abs(very.negative)
then 1 is returned
with a warning.
See slash
.
Thomas W. Yee and C. S. Chee
See slash
, the VGAM family function
for estimating the two parameters by maximum likelihood estimation,
for the formula of the probability density function and other details.
Function pslash
uses a for ()
loop and
integrate
, meaning it's very slow.
It may also be inaccurate for extreme values of q
,
and returns with 1 or 0 values when too extreme compared
to very.negative
.
slash
.
if (FALSE) {
curve(dslash, col = "blue", ylab = "f(x)", -5, 5, ylim = c(0, 0.4), las = 1,
main = "Standard slash, normal and Cauchy densities", lwd = 2)
curve(dnorm, col = "black", lty = 2, lwd = 2, add = TRUE)
curve(dcauchy, col = "orange", lty = 3, lwd = 2, add = TRUE)
legend("topleft", c("slash", "normal", "Cauchy"), lty = 1:3,
col = c("blue","black","orange"), lwd = 2)
curve(pslash, col = "blue", -5, 5, ylim = 0:1)
pslash(c(-Inf, -20000, 20000, Inf)) # Gives a warning
}
Run the code above in your browser using DataLab