prepare EMGLLF / EMGrank wrappers, simplify folder generateTestData
[valse.git] / R / discardSimilarModels.R
CommitLineData
ef67d338 1#' Discard models which have the same relevant variables - for EMGLLF
d1531659 2#'
3#' @param B1 array of relevant coefficients (of size p*m*length(gridlambda))
4#' @param B2 array of irrelevant coefficients (of size p*m*length(gridlambda))
5#' @param glambda grid of regularization parameters (vector)
6#' @param rho covariance matrix (of size m*m*K*size(gridLambda))
7#' @param pi weight parameters (of size K*size(gridLambda))
8#'
9#' @return a list with update B1, B2, glambda, rho and pi, and ind the vector of indices
e166ed4e 10#' of selected models.
d1531659 11#' @export
ef67d338 12discardSimilarModels_EMGLLF = function(B1,B2,glambda,rho,pi)
d1531659 13{
e166ed4e
BA
14 ind = c()
15 for (j in 1:length(glambda))
16 {
17 for (ll in 1:(l-1))
18 {
19 if(B1[,,l] == B1[,,ll])
20 ind = c(ind, l)
21 }
22 }
23 ind = unique(ind)
24 B1 = B1[,,-ind]
25 glambda = glambda[-ind]
26 B2 = B2[,,-ind]
27 rho = rho[,,,-ind]
28 pi = pi[,-ind]
29
ef67d338
BA
30 return (list("B1"=B1,"B2"=B2,"glambda"=glambda,"rho"=rho,"pi"=pi,"ind"=ind))
31}
32
33#' Discard models which have the same relevant variables
34#' - for Lasso-rank procedure (focus on columns)
35#'
36#' @param B1 array of relevant coefficients (of size p*m*length(gridlambda))
37#' @param rho covariance matrix
38#' @param pi weight parameters
39#'
40#' @return a list with B1, in, rho, pi
41#' @export
42discardSimilarModels_EMGrank = function(B1,rho,pi)
43{
44 ind = c()
45 dim_B1 = dim(B1)
46 B2 = array(0,dim=c(dim_B1[1],dim_B1[2],dim_B1[3]))
47 sizeLambda=dim_B1[3]
48 glambda = rep(0,sizeLambda)
49
50 suppressmodel = discardSimilarModels_EMGLLF(B1,B2,glambda,rho,pi)
51 return (list("B1" = suppressmodel$B1, "ind" = suppressmodel$ind,
52 "rho" = suppressmodel$rho, "pi" = suppressmodel$pi))
d1531659 53}