7.7 Student t distribution
R script for student t distribution
Dt
## function (t, nu, mu = 0, sig = 1)
## {
## if (sig <= 0 | nu <= 0) {
## warning("bad sig,nu for a t distribution")
## return(NULL)
## }
## np = 0.5 * (nu + 1)
## return(exp(-np * log(1 + (t - mu) * (t - mu)/sig/sig/nu) +
## gammln(np) - gammln(0.5 * nu))/(sqrt(3.14159265358979 *
## nu) * sig))
## }
## <bytecode: 0x000001e2a80677d8>
## <environment: namespace:math>
Pt
## function (t, nu, mu = 0, sig = 1)
## {
## if (sig <= 0 | nu <= 0) {
## warning("bad sig,nu for a t distribution")
## return(NULL)
## }
## p = 0.5 * betai(0.5 * nu, 0.5, nu/(nu + (t - mu) * (t - mu)/sig/sig))
## if (t >= mu)
## return(1 - p)
## else return(p)
## }
## <bytecode: 0x000001e2a7ea27e8>
## <environment: namespace:math>
Qt
## function (p, nu, mu = 0, sig = 1)
## {
## if (p <= 0 | p >= 1) {
## warning("bad p for a t distribution")
## return(NULL)
## }
## x = invbetai(2 * min(p, 1 - p), 0.5 * nu, 0.5)
## x = sig * sqrt(nu * (1 - x)/x)
## if (p >= 0.5)
## return(mu + x)
## else return(mu - x)
## }
## <bytecode: 0x000001e2a7d189b0>
## <environment: namespace:math>