fix test; EMGLLF.c != EMGLLF.R now...
[valse.git] / pkg / R / generateXY.R
index 496d4e5..069c470 100644 (file)
@@ -17,12 +17,12 @@ generateXY = function(n, π, meanX, β, covX, covY)
        p <- dim(covX)[1]
        m <- dim(covY)[1]
        k <- dim(covY)[3]
        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)
        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)
        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 )
                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)
        }
 
        shuffle = sample(n)