Pass R CMD check --as-cran
[valse.git] / pkg / R / computeGridLambda.R
CommitLineData
0ba1b11c 1#' computeGridLambda
3453829e
BA
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 for rho
7#' @param piInit 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 eps threshold to stop EM algorithm
1196a43d 15#' @param fast boolean to enable or not the C function call
3453829e
BA
16#'
17#' @return the grid of regularization parameters
18#'
19#' @export
0ba1b11c 20computeGridLambda <- function(phiInit, rhoInit, piInit, gamInit, X, Y, gamma, mini,
3453829e
BA
21 maxi, eps, fast)
22{
23 n <- nrow(X)
24 p <- ncol(X)
25 m <- ncol(Y)
26 k <- length(piInit)
27
0ba1b11c 28 list_EMG <- EMGLLF(phiInit, rhoInit, piInit, gamInit, mini, maxi, gamma, lambda = 0,
3453829e
BA
29 X, Y, eps, fast)
30
31 grid <- array(0, dim = c(p, m, k))
32 for (j in 1:p)
33 {
34 for (mm in 1:m)
35 grid[j, mm, ] <- abs(list_EMG$S[j, mm, ])/(n * list_EMG$pi^gamma)
36 }
37 sort(unique(grid))
38}