Bonjour,
je recherche une fonction en C qui permettrai de faire l'équivalent de la fonction R.Code:quantile()
Est-ce que quelqu'un en connaîtrai une s'il vous plait ?
Version imprimable
Bonjour,
je recherche une fonction en C qui permettrai de faire l'équivalent de la fonction R.Code:quantile()
Est-ce que quelqu'un en connaîtrai une s'il vous plait ?
Je pense qu'il va falloir que tu l'écrive toi même.
Je pense que dans ce cas, la fonction quantile doit recevoir trois entrées :
- les données d'entrée (donnees[] et nb_donnees)
- le nombre de quantiles considérés (nb_quantiles)
- et l'ordre du quantile à calculer (i_quantile)
En supposant que les données d'entrée soient des doubles, notre fonction ressemblera donc à ceci :
D'après le prototype de la fonction, quantile(donnees, nb_donnees, 10, 1) devra donc retourner le premier décile. Ce n'est qu'une suggestion simple, tu peux très bien adopter un autre prototype. N'oublie pas qu'il faut trier les données avant de tenter de déterminer un quantile. Ca serait donc bien d'ajouter un cinquième argument permettant d'indiquer si les données sont déjà triées ou non, pour ne pas trier des données qui le sont déjà.Code:
1
2
3
4 double quantile(double donnees[], int nb_donnees, int nb_quantiles, int i_quantile) { /* Ici ton code */ }
Le seul problème majeur est d'ailleurs le tri. Une fois le tri passé, la formule elle-même s'écrit en une seule ligne. Je te conseille donc de traiter d'abord le cas données déjà triées avant de traiter le cas général. Maintenant, tu n'as donc plus qu'à compléter la fonction que je t'ai proposée. C'est juste une affaire d'une ligne comme je te l'ai dit. On t'attend pour la suite :).