fix indexations: test.EMGLLF without errors (but R <> C)
[valse.git] / R / modelSelection.R
CommitLineData
d1531659 1#' Among a collection of models, this function constructs a subcollection of models with
2#' models having strictly different dimensions, keeping the model which minimizes
3#' the likelihood if there were several with the same dimension
4#'
5#' @param LLF a matrix, the first column corresponds to likelihoods for several models
e166ed4e 6#' the second column corresponds to the dimensions of the corresponding models.
d1531659 7#'
8#' @return a list with indices, a vector of indices selected models,
e166ed4e 9#' and D1, a vector of corresponding dimensions
d1531659 10#' @export
11#'
d1531659 12modelSelection = function(LLF)
13{
e166ed4e
BA
14 D = LLF[,2]
15 D1 = unique(D)
16
17 indices = rep(1, length(D1))
18 #select argmax MLE
19 if (length(D1)>2)
20 {
21 for (i in 1:length(D1))
22 {
23 A = c()
24 for (j in 1:length(D))
25 {
26 if(D[[j]]==D1[[i]])
27 a = c(a, LLF[j,1])
28 }
29 b = max(a)
30 #indices[i] : first indices of the binary vector where u_i ==1
31 indices[i] = which.max(vec_bin(LLF,b)[[1]])
32 }
33 }
34
35 return (list(indices=indices,D1=D1))
d1531659 36}