## ----include = FALSE---------------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ## ----setup-------------------------------------------------------------------- library(MixMatrix) ## ----mnorm-------------------------------------------------------------------- set.seed(20180203) x <- matrix(rnorm(6),nrow=3) x set.seed(20180203) y <- rmatrixnorm(n = 1, mean=matrix(rep(0,6),nrow=3)) y U <- 5 * diag(3) + 1 V <- matrix(c(2,0,0,.1),nrow=2) mu = matrix(1:6,nrow=3) set.seed(20180203) z <- rmatrixnorm(n = 1, mean=mu,U=U,V=V) z mu + t(chol(U)) %*% y %*% chol(V) ## ----noptions----------------------------------------------------------------- set.seed(20180203) x <- rmatrixnorm(n = 1, mean=matrix(rep(0,6),nrow=3)) x set.seed(20180203) y <- rmatrixnorm(n = 100, mean=matrix(rep(0,6),nrow=3),list = TRUE) y[[1]] set.seed(20180203) z <- rmatrixnorm(n = 100, mean=matrix(rep(0,6),nrow=3),array = TRUE) z[ , , 1] ## ----density------------------------------------------------------------------ set.seed(20180202) A = rmatrixnorm(n=1,mean=matrix(c(100,0,-100,0,25,-1000),nrow=2), L=matrix(c(2,1,0,.1),nrow=2)) dmatrixnorm(A,mean=matrix(c(100,0,-100,0,25,-1000),nrow=2), L=matrix(c(2,1,0,.1),nrow=2),log=TRUE ) ## ----mleone------------------------------------------------------------------- set.seed(20180202) A = rmatrixnorm(n=100,mean=matrix(c(100,0,-100,0,25,-1000),nrow=2), L=matrix(c(2,1,0,.1),nrow=2),list=TRUE) results=MLmatrixnorm(A) print(results) ## ----mlerow------------------------------------------------------------------- results.fixrows = MLmatrixnorm(A, row.mean = TRUE, max.iter = 5) print(results.fixrows) # this failure is expected with misspecification! The number of iterations is also # fixed to be low so the vignette compiles quickly. ## ----mlevar,warning=FALSE----------------------------------------------------- # tolerance and maximum iterations are limited here to make the vignette compile faster B = rmatrixnorm(n = 50, mean = matrix(1:15,nrow = 5), U = 3*stats::toeplitz(.6^(1:5))) MLmatrixnorm(B, row.variance = "AR(1)", tol = 1e-5) MLmatrixnorm(B, tol = 1e-5) ## ----sessioninfo-------------------------------------------------------------- sessionInfo() ## ----getlabels, echo = FALSE-------------------------------------------------- labs = knitr::all_labels() labs = labs[!labs %in% c("setup", "toc", "getlabels", "allcode")] ## ----allcode, ref.label = labs, eval = FALSE---------------------------------- # knitr::opts_chunk$set( # collapse = TRUE, # comment = "#>" # ) # set.seed(20180203) # x <- matrix(rnorm(6),nrow=3) # x # set.seed(20180203) # y <- rmatrixnorm(n = 1, mean=matrix(rep(0,6),nrow=3)) # y # U <- 5 * diag(3) + 1 # V <- matrix(c(2,0,0,.1),nrow=2) # mu = matrix(1:6,nrow=3) # set.seed(20180203) # z <- rmatrixnorm(n = 1, mean=mu,U=U,V=V) # z # mu + t(chol(U)) %*% y %*% chol(V) # # set.seed(20180203) # x <- rmatrixnorm(n = 1, mean=matrix(rep(0,6),nrow=3)) # x # set.seed(20180203) # y <- rmatrixnorm(n = 100, mean=matrix(rep(0,6),nrow=3),list = TRUE) # y[[1]] # set.seed(20180203) # z <- rmatrixnorm(n = 100, mean=matrix(rep(0,6),nrow=3),array = TRUE) # z[ , , 1] # # set.seed(20180202) # A = rmatrixnorm(n=1,mean=matrix(c(100,0,-100,0,25,-1000),nrow=2), # L=matrix(c(2,1,0,.1),nrow=2)) # dmatrixnorm(A,mean=matrix(c(100,0,-100,0,25,-1000),nrow=2), # L=matrix(c(2,1,0,.1),nrow=2),log=TRUE ) # # set.seed(20180202) # A = rmatrixnorm(n=100,mean=matrix(c(100,0,-100,0,25,-1000),nrow=2), # L=matrix(c(2,1,0,.1),nrow=2),list=TRUE) # results=MLmatrixnorm(A) # print(results) # results.fixrows = MLmatrixnorm(A, row.mean = TRUE, max.iter = 5) # print(results.fixrows) # # this failure is expected with misspecification! The number of iterations is also # # fixed to be low so the vignette compiles quickly. # # tolerance and maximum iterations are limited here to make the vignette compile faster # # B = rmatrixnorm(n = 50, mean = matrix(1:15,nrow = 5), # U = 3*stats::toeplitz(.6^(1:5))) # MLmatrixnorm(B, row.variance = "AR(1)", tol = 1e-5) # MLmatrixnorm(B, tol = 1e-5) # # sessionInfo()