X-Git-Url: https://git.auder.net/?p=valse.git;a=blobdiff_plain;f=pkg%2FR%2FgenerateXY.R;h=069c4702960603083fefea62f8431b9f72d1cb8b;hp=496d4e508db450e51dec1f364e5c7117eda91e0d;hb=321e13a991a5a0e6c97225fdca436870e5e805d1;hpb=2e813ad23c796bbed3d5ba685b8fa002bdc6689d diff --git a/pkg/R/generateXY.R b/pkg/R/generateXY.R index 496d4e5..069c470 100644 --- a/pkg/R/generateXY.R +++ b/pkg/R/generateXY.R @@ -17,12 +17,12 @@ generateXY = function(n, π, meanX, β, covX, covY) 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, pi) + sizePop <- rmultinom(1, n, π) class <- c() #map i in 1:n --> index of class in 1:k for (i in 1:k) @@ -30,8 +30,8 @@ generateXY = function(n, π, meanX, β, covX, covY) class <- c(class, rep(i, sizePop[i])) newBlockX <- MASS::mvrnorm(sizePop[i], meanX, covX) X <- rbind( X, newBlockX ) - Y <- rbind( Y, apply( newBlockX, 1, function(row) - mvrnorm(1, row %*% beta[,,i], covY[,,i]) ) ) + Y <- rbind( Y, t(apply( newBlockX, 1, function(row) + MASS::mvrnorm(1, row %*% β[,,i], covY[,,i]) )) ) } shuffle = sample(n)