p <- dim(covX)[1]
m <- dim(covY)[1]
k <- dim(covY)[3]
-
+
X <- matrix(nrow = 0, ncol = p)
Y <- matrix(nrow = 0, ncol = m)
-
+
# random generation of the size of each population in X~Y (unordered)
sizePop <- rmultinom(1, n, π)
- class <- c() #map i in 1:n --> index of class in 1:k
-
+ class <- c() #map i in 1:n --> index of class in 1:k
+
for (i in 1:k)
{
class <- c(class, rep(i, sizePop[i]))
Y <- rbind(Y, t(apply(newBlockX, 1, function(row) MASS::mvrnorm(1, row %*%
β[, , i], covY[, , i]))))
}
-
+
shuffle <- sample(n)
list(X = X[shuffle, ], Y = Y[shuffle, ], class = class[shuffle])
}