X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=R%2FgenerateIOdefault.R;h=b0d748ae4e5955c54ccb4a03e6819ae92b299463;hb=c3bc47052f3ccb659659c59a82e9a99ea842398d;hp=1d5c1604aa8e8288026a8b366423afd1781fae79;hpb=493a35bfea6d1210c94ced8fbfe3e572f0389ea5;p=valse.git diff --git a/R/generateIOdefault.R b/R/generateIOdefault.R index 1d5c160..b0d748a 100644 --- a/R/generateIOdefault.R +++ b/R/generateIOdefault.R @@ -1,25 +1,29 @@ -generateIOdefault = function(n, p, m, k){ - rangeX = 100 - meanX = rangeX*(1-matrix(runif(k*p),ncol = p)) - - covX = array(0, dim=c(p,p,k)) - covY = array(0, dim=c(m,m,k)) - - for(r in 1:k){ - covX[,,r] = diag(p) - covY[,,r] = diag(m) - } - - pi = (1/k) * rep(1,k) - - beta = array(0, dim=c(p,m,k)) - - for(j in 1:p){ - nonZeroCount = ceiling(m * runif(1)) - beta[j,1:nonZeroCount,] = matrix(runif(nonZeroCount*k),ncol = k) - } - - generate = generateIO(meanX, covX, covY, pi, beta, n) - - return(list(generate[[1]],generate[[2]])) -} \ No newline at end of file +#' Generate a sample of (X,Y) of size n with default values +#' @param n sample size +#' @param p number of covariates +#' @param m size of the response +#' @param k number of clusters +#' @return list with X and Y +#' @export +#----------------------------------------------------------------------- +generateIOdefault = function(n, p, m, k) +{ + covX = diag(p) + covY = array(0, dim=c(m,m,k)) + for(r in 1:k) + { + covY[,,r] = diag(m) + } + + pi = rep(1./k,k) + + beta = array(0, dim=c(p,m,k)) + for(j in 1:p) + { + nonZeroCount = ceiling(m * runif(1)) + beta[j,1:nonZeroCount,] = matrix(runif(nonZeroCount*k), ncol=k) + } + + sample_IO = generateIO(covX, covY, pi, beta, n) + return (list(X=sample_IO$X,Y=sample_IO$Y)) +}