popsimA | R Documentation |
A dataset containing values of 10 interested variables of 20 subjects over 50 periods.
popsimA
An object of class array
of dimension 50 x 10 x 20.
popsimB
.
## Generated by the following R codes set.seed(1234) n = 50; p = 10; m1 = 20; m2 = 10 Precision1 = Precision2 = diag(rep(1, p)) # generate Precision matrix for population for (i in 1 : (p - 1)){ temp1 = ifelse(i > 2 * p / 3, -0.2, 0.4) temp2 = ifelse(i < p / 3, 0.4, -0.2) Precision1[i, i + 1] = Precision1[i + 1, i] = temp1 Precision2[i, i + 1] = Precision2[i + 1, i] = temp2 } # R1=-cov2cor(Precision1) + diag(rep(2, p)) # real partial correlation matrix # R2=-cov2cor(Precision2) + diag(rep(2, p)) Index = matrix(0, p, p) # generate covariance matrix for each subject for (i in 1 : p){ for (j in 1 : p){ if (i != j & abs(i - j) <= 3) Index[i, j] = 1 } } SigmaAll1 = array(dim = c(p, p, m1)) SigmaAll2 = array(dim = c(p, p, m2)) for (sub in 1 : m1){ RE = matrix(rnorm(p^2, 0, sqrt(2) * 0.05), p, p) * Index RE1 = (RE + t(RE)) / 2 PrecisionInd = Precision1 + RE1 SigmaAll1[, , sub] = solve(PrecisionInd) } for (sub in 1 : m2){ RE = matrix(rnorm(p^2, 0, sqrt(2) * 0.15), p, p) * Index RE1 = (RE + t(RE)) / 2 PrecisionInd = Precision2 + RE1 SigmaAll2[, , sub] = solve(PrecisionInd) } rho = 0.3 # generate observed time series data y1 = array(dim = c(n, p, m1)) y2 = array(dim = c(n, p, m2)) for (sub in 1 : m1){ SigmaInd1 = SigmaAll1[, , sub] ytemp = matrix(0, n, p) Epsilon = MASS::mvrnorm(n, rep(0, p), SigmaInd1) ytemp[1, ] = Epsilon[1, ] for (i in 2 : n){ ytemp[i, ] = rho * ytemp[i - 1, ] + sqrt(1 - rho^2) * Epsilon[i, ] } y1[, , sub] = ytemp } for (sub in 1 : m2){ SigmaInd2 = SigmaAll2[, , sub] Xtemp = matrix(0, n, p) Epsilon = MASS::mvrnorm(n, rep(0, p), SigmaInd2) ytemp[1, ] = Epsilon[1, ] for (i in 2 : n){ ytemp[i, ] = rho * ytemp[i - 1, ] + sqrt(1 - rho^2) * Epsilon[i, ] } y2[, , sub] = ytemp } popsimA = y1 popsimB = y2
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.