Add 'fast' argument to select C code or R code
[valse.git] / pkg / R / computeGridLambda.R
... / ...
CommitLineData
1#' computeGridLambda
2#'
3#' Construct the data-driven grid for the regularization parameters used for the Lasso estimator
4#'
5#' @param phiInit value for phi
6#' @param rhoInit value for rho
7#' @param piInit value for pi
8#' @param gamInit value for gamma
9#' @param X matrix of covariates (of size n*p)
10#' @param Y matrix of responses (of size n*m)
11#' @param gamma power of weights in the penalty
12#' @param mini minimum number of iterations in EM algorithm
13#' @param maxi maximum number of iterations in EM algorithm
14#' @param tau threshold to stop EM algorithm
15#'
16#' @return the grid of regularization parameters
17#'
18#' @export
19computeGridLambda = function(phiInit, rhoInit, piInit, gamInit, X, Y,
20 gamma, mini, maxi, tau, fast=TRUE)
21{
22 n = nrow(X)
23 p = dim(phiInit)[1]
24 m = dim(phiInit)[2]
25 k = dim(phiInit)[3]
26
27 list_EMG = EMGLLF(phiInit, rhoInit, piInit, gamInit, mini, maxi,
28 gamma, lambda=0, X, Y, tau, fast)
29 grid = array(0, dim=c(p,m,k))
30 for (i in 1:p)
31 {
32 for (j in 1:m)
33 grid[i,j,] = abs(list_EMG$S[i,j,]) / (n*list_EMG$pi^gamma)
34 }
35 grid = unique(grid)
36 grid
37}