X-Git-Url: https://git.auder.net/?p=valse.git;a=blobdiff_plain;f=pkg%2FR%2FconstructionModelesLassoMLE.R;h=fd0cd4dac8f44a0f561b82e6b47ec4d8a180be20;hp=2d04adbe74ca4255fbb5ea588615eb570bfd9aa9;hb=64cceb2ece0d8142fee3e82e1cc56e20261caf45;hpb=0ba1b11c49d7b2a0cae493200793c1ba3fb8b8e7 diff --git a/pkg/R/constructionModelesLassoMLE.R b/pkg/R/constructionModelesLassoMLE.R index 2d04adb..fd0cd4d 100644 --- a/pkg/R/constructionModelesLassoMLE.R +++ b/pkg/R/constructionModelesLassoMLE.R @@ -21,7 +21,7 @@ #' #' @export constructionModelesLassoMLE <- function(phiInit, rhoInit, piInit, gamInit, mini, - maxi, gamma, X, Y, eps, S, ncores = 3, fast, verbose) + maxi, gamma, X, Y, eps, S, ncores, fast, verbose) { if (ncores > 1) { @@ -51,8 +51,9 @@ constructionModelesLassoMLE <- function(phiInit, rhoInit, piInit, gamInit, mini, return(NULL) # lambda == 0 because we compute the EMV: no penalization here - res <- EMGLLF(array(phiInit,dim=c(p,m,k))[col.sel, , ], rhoInit, piInit, gamInit, - mini, maxi, gamma, 0, as.matrix(X[, col.sel]), Y, eps, fast) + res <- EMGLLF(array(phiInit[col.sel, , ], dim=c(length(col.sel),m,k)), + rhoInit, piInit, gamInit, mini, maxi, gamma, 0, + as.matrix(X[, col.sel]), Y, eps, fast) # Eval dimension from the result + selected phiLambda2 <- res$phi @@ -101,7 +102,7 @@ constructionModelesLassoMLE <- function(phiInit, rhoInit, piInit, gamInit, mini, # For each lambda, computation of the parameters out <- if (ncores > 1) { - parLapply(cl, 1:length(S), computeAtLambda) + parallel::parLapply(cl, 1:length(S), computeAtLambda) } else { lapply(1:length(S), computeAtLambda) }