X-Git-Url: https://git.auder.net/?p=valse.git;a=blobdiff_plain;f=pkg%2FR%2FselectVariables.R;h=02252872045a5805c2b444fee0e973897afa0e15;hp=65fbde546b2c298cd4fccca285a91a8655534cfe;hb=43d76c49d2f98490abc782c7e8a8b94baee40247;hpb=5965d116de1595372c8d34281551183fd3799038 diff --git a/pkg/R/selectVariables.R b/pkg/R/selectVariables.R index 65fbde5..0225287 100644 --- a/pkg/R/selectVariables.R +++ b/pkg/R/selectVariables.R @@ -12,8 +12,8 @@ #' @param glambda grid of regularization parameters #' @param X matrix of regressors #' @param Y matrix of responses -#' @param thres threshold to consider a coefficient to be equal to 0 -#' @param tau threshold to say that EM algorithm has converged +#' @param thresh real, threshold to say a variable is relevant, by default = 1e-8 +#' @param eps threshold to say that EM algorithm has converged #' @param ncores Number or cores for parallel execution (1 to disable) #' #' @return a list of outputs, for each lambda in grid: selected,Rho,Pi @@ -23,20 +23,20 @@ #' @export #' selectVariables = function(phiInit,rhoInit,piInit,gamInit,mini,maxi,gamma,glambda, - X,Y,thresh,tau, ncores=3, fast=TRUE) + X,Y,thresh=1e-8,eps, ncores=3, fast=TRUE) { if (ncores > 1) { cl = parallel::makeCluster(ncores, outfile='') parallel::clusterExport(cl=cl, - varlist=c("phiInit","rhoInit","gamInit","mini","maxi","glambda","X","Y","thresh","tau"), + varlist=c("phiInit","rhoInit","gamInit","mini","maxi","glambda","X","Y","thresh","eps"), envir=environment()) } # Computation for a fixed lambda computeCoefs <- function(lambda) { - params = EMGLLF(phiInit,rhoInit,piInit,gamInit,mini,maxi,gamma,lambda,X,Y,tau,fast) + params = EMGLLF(phiInit,rhoInit,piInit,gamInit,mini,maxi,gamma,lambda,X,Y,eps,fast) p = dim(phiInit)[1] m = dim(phiInit)[2]