x <- c(1.23, 4.56)
mu <- 1:2
Sigma <- matrix(c(4, 2, 2, 3), ncol=2)
df01 <- mvtnorm::dmvt(x, delta = mu, sigma = Sigma, df = 1, log=FALSE) # default log = TRUE!
df10 <- mvtnorm::dmvt(x, delta = mu, sigma = Sigma, df = 10, log=FALSE) # default log = TRUE!
df30 <- mvtnorm::dmvt(x, delta = mu, sigma = Sigma, df = 30, log=FALSE) # default log = TRUE!
df01
df10
df30
dmvt_mat(
matrix(x,ncol=2),
df = 1,
Q = Sigma,
delta=mu)$int
dmvt_mat(
matrix(x,ncol=2),
df = 10,
Q = Sigma,
delta=mu)$int
dmvt_mat(
matrix(x,ncol=2),
df = 30,
Q = Sigma,
delta=mu)$int
## Q: can we do non-integer degrees of freedom?
## A: yes for both mvpd::dmvt_mat and mvtnorm::dmvt
df1.5 <- mvtnorm::dmvt(x, delta = mu, sigma = Sigma, df = 1.5, log=FALSE) # default log = TRUE!
df1.5
dmvt_mat(
matrix(x,ncol=2),
df = 1.5,
Q = Sigma,
delta=mu)$int
## Q: can we do <1 degrees of freedom but >0?
## A: yes for both mvpd::dmvt_mat and mvtnorm::dmvt
df0.5 <- mvtnorm::dmvt(x, delta = mu, sigma = Sigma, df = 0.5, log=FALSE) # default log = TRUE!
df0.5
dmvt_mat(
matrix(x,ncol=2),
df = 0.5,
Q = Sigma,
delta=mu)$int
df0.0001 <- mvtnorm::dmvt(x, delta = mu, sigma = Sigma, df = 0.0001,
log=FALSE) # default log = TRUE!
df0.0001
dmvt_mat(
matrix(x,ncol=2),
df = 0.0001,
Q = Sigma,
delta=mu)$int
## Q: can we do ==0 degrees of freedom?
## A: No for both mvpd::dmvt_mat and mvtnorm::dmvt
## this just becomes normal, as per the manual for mvtnorm::dmvt
df0.0 <- mvtnorm::dmvt(x, delta = mu, sigma = Sigma, df = 0, log=FALSE) # default log = TRUE!
df0.0
if (FALSE) {
dmvt_mat(
matrix(x,ncol=2),
df = 0,
Q = Sigma,
delta=mu)$int
}
Run the code above in your browser using DataLab