- for(lambdaIndex in 1:L){
- #on ne garde que les colonnes actives
- #active sera l'ensemble des variables informatives
- active = A1[, lambdaIndex]
- active[active==0] = c()
- if(length(active)>0){
- for(j in 1:Size){
- EMG_rank = EMGrank(Pi[,lambdaIndex], Rho[,,,lambdaIndex], mini, maxi, X[, active], Y, tau, Rank[j,])
- phiLambda = EMG_rank$phi
- LLF = EMG_rank$LLF
- llh[(lambdaIndex-1)*Size+j,] = c(LLF, sum(Rank[j,]^(length(active)- Rank[j,]+m)))
- phi[active,,,(lambdaIndex-1)*Size+j] = phiLambda
+ for(lambdaIndex in 1:L)
+ {
+ # on ne garde que les colonnes actives
+ # 'active' sera l'ensemble des variables informatives
+ active = A1[,lambdaIndex]
+ active = active[-(active==0)]
+ if (length(active) > 0)
+ {
+ for (j in 1:Size)
+ {
+ res = EMGrank(Pi[,lambdaIndex], Rho[,,,lambdaIndex], mini, maxi,
+ X[,active], Y, tau, Rank[j,])
+ llh[(lambdaIndex-1)*Size+j,] =
+ c( res$LLF, sum(Rank[j,] * (length(active)- Rank[j,] + m)) )
+ phi[active,,,(lambdaIndex-1)*Size+j] = res$phi