fix few things
[valse.git] / pkg / R / main.R
index 238160c..6b683a5 100644 (file)
@@ -124,38 +124,36 @@ valse = function(X, Y, procedure='LassoMLE', selecMod='DDSE', gamma=1, mini=10,
   print(tableauRecap)
   tableauRecap = tableauRecap[which(tableauRecap[,4]!= Inf),]
   
-  return(tableauRecap)
-  
-  # modSel = capushe::capushe(tableauRecap, n)
-  # indModSel <-
-  #   if (selecMod == 'DDSE')
-  #     as.numeric(modSel@DDSE@model)
-  # else if (selecMod == 'Djump')
-  #   as.numeric(modSel@Djump@model)
-  # else if (selecMod == 'BIC')
-  #   modSel@BIC_capushe$model
-  # else if (selecMod == 'AIC')
-  #   modSel@AIC_capushe$model
-  # 
-  # mod = as.character(tableauRecap[indModSel,1])
-  # listMod = as.integer(unlist(strsplit(mod, "[.]")))
-  # modelSel = models_list[[listMod[1]]][[listMod[2]]]
-  # 
-  # ##Affectations
-  # Gam = matrix(0, ncol = length(modelSel$pi), nrow = n)
-  # for (i in 1:n){
-  #   for (r in 1:length(modelSel$pi)){
-  #     sqNorm2 = sum( (Y[i,]%*%modelSel$rho[,,r]-X[i,]%*%modelSel$phi[,,r])^2 )
-  #     Gam[i,r] = modelSel$pi[r] * exp(-0.5*sqNorm2)* det(modelSel$rho[,,r])
-  #   }
-  # }
-  # Gam = Gam/rowSums(Gam)
-  # modelSel$affec = apply(Gam, 1,which.max)
-  # modelSel$proba = Gam
-  # 
-  # if (plot){
-  #   print(plot_valse(X,Y,modelSel,n))
-  # }
-  # 
-  # return(modelSel)
+  modSel = capushe::capushe(tableauRecap, n)
+  indModSel <-
+    if (selecMod == 'DDSE')
+      as.numeric(modSel@DDSE@model)
+  else if (selecMod == 'Djump')
+    as.numeric(modSel@Djump@model)
+  else if (selecMod == 'BIC')
+    modSel@BIC_capushe$model
+  else if (selecMod == 'AIC')
+    modSel@AIC_capushe$model
+
+  mod = as.character(tableauRecap[indModSel,1])
+  listMod = as.integer(unlist(strsplit(mod, "[.]")))
+  modelSel = models_list[[listMod[1]]][[listMod[2]]]
+
+  ##Affectations
+  Gam = matrix(0, ncol = length(modelSel$pi), nrow = n)
+  for (i in 1:n){
+    for (r in 1:length(modelSel$pi)){
+      sqNorm2 = sum( (Y[i,]%*%modelSel$rho[,,r]-X[i,]%*%modelSel$phi[,,r])^2 )
+      Gam[i,r] = modelSel$pi[r] * exp(-0.5*sqNorm2)* det(modelSel$rho[,,r])
+    }
+  }
+  Gam = Gam/rowSums(Gam)
+  modelSel$affec = apply(Gam, 1,which.max)
+  modelSel$proba = Gam
+
+  if (plot){
+    print(plot_valse(X,Y,modelSel,n))
+  }
+
+  return(modelSel)
 }