X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=pkg%2FR%2FEMGrank.R;h=e44ff7a6ae483ae0b764e9312b69ba583c8cb789;hb=c280fe59f3b4f7fe7c1bf5cceb8352bead1bf26b;hp=eaa32464db4662fc03c07e6e1c08d8f5d64ba4ad;hpb=f87ff0f5116c0c1c59c5608e46563ff0f79e5d43;p=valse.git diff --git a/pkg/R/EMGrank.R b/pkg/R/EMGrank.R index eaa3246..e44ff7a 100644 --- a/pkg/R/EMGrank.R +++ b/pkg/R/EMGrank.R @@ -1 +1,31 @@ -#TODO: wrapper sur fonction C (on a besoin de C pour ça ?!) +#' EMGrank +#' +#' Description de EMGrank +#' +#' @param phiInit ... +#' @param Pi Parametre de proportion +#' @param Rho Parametre initial de variance renormalisé +#' @param mini Nombre minimal d'itérations dans l'algorithme EM +#' @param maxi Nombre maximal d'itérations dans l'algorithme EM +#' @param X Régresseurs +#' @param Y Réponse +#' @param tau Seuil pour accepter la convergence +#' @param rank Vecteur des rangs possibles +#' +#' @return A list ... +#' phi : parametre de moyenne renormalisé, calculé par l'EM +#' LLF : log vraisemblance associé à cet échantillon, pour les valeurs estimées des paramètres +#' +#' @export +EMGrank <- function(Pi, Rho, mini, maxi, X, Y, tau, rank) +{ + n = nrow(X) #nombre d'echantillons + p = ncol(X) #nombre de covariables + m = ncol(Y) #taille de Y (multivarié) + k = length(Pi) #nombre de composantes dans le mélange + .Call("EMGrank", + Pi, Rho, mini, maxi, X, Y, tau, rank, + phi=double(p*m*k), LLF=double(1), + n, p, m, k, + PACKAGE="valse") +}