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>