graphicalVARsim <- function( nTime, # Number of time points beta, kappa, init = 0, intercepts = 0, warmup = 100){ stopifnot(!missing(beta)) stopifnot(!missing(kappa)) Nvar <- ncol(kappa) init <- rep(init, length = Nvar) intercepts <- rep(intercepts, length = Nvar) totTime <- nTime + warmup Data <- matrix(NA, totTime, Nvar) Data[1,] <- init Sigma <- solve(kappa) for (t in 2:totTime){ Data[t,] <- t(intercepts + beta %*% Data[t-1,]) + rmvnorm(1, rep(0,Nvar), Sigma) } return(Data[-seq_len(warmup), ,drop=FALSE]) }