Percentile calcul
Je veux imiter le Excel équivalent PERCENTILE de la fonction dans C#
(ou, dans certains pseudo-code). Comment puis-je le faire? La fonction doit prendre deux arguments, où la première est une liste de valeurs et la seconde est pour ce centile de la fonction doit calculer pour.
Réservoirs!
Edit: je suis désolé si ma question est venu à travers comme je n'avais pas essayé moi-même. Je ne pouvais pas comprendre comment la fonction excel travaillé (oui, j'ai essayé de wikipédia et wolfram première) et je pense que je comprendrais mieux si quelqu'un l'a présenté dans le code.
@CodeInChaos a donné une réponse qui semble être ce que je suis après.
- pourriez-vous nous donner un exemple de pseudo-code de fonction de l'utilisation, de données d'entrée et de sortie attendue de résultat?
- Qu'avez-vous essayé?
Vous devez vous connecter pour publier un commentaire.
Je pense que Page Wikipedia a des formules, vous devez écrire votre propre fonction...
J'ai essayé ceci:
ÉDITÉ après CodeInChaos commentaire:
Excel utilise un percentile de la valeur entre 0 et 1 (j'ai donc modifié mon code pour mettre en œuvre des ce avec Wikipédia formules) et l'autre méthode pour calculez n (j'ai donc changé le, a commenté l'un).
(N+1)
formule est déjà partie de la section suivante qui parle NIST Pourcentages. Je suppose que le/100
partie est probablement pour des raisons de cohérence avec le reste de la page. Aussi la+1
partie semble être utilisé parce que les tableaux Excel sont 1 indexé, alors que C# utilise de 0 basée sur les tableaux.percentile
paramètre au plus proche multiple de 0,01. Vous ne savez pas si excel n'a une telle chose, mais trouver un tel comportement surprenant. (Pour la même raison que je n'aime pasTimeSpan.FromSeconds
)return sequence[k - 1] + d * (sequence[k] - sequence[k - 1]);
)À essayer de reproduire les résultats sur: http://www.techonthenet.com/excel/formulas/percentile.php je suis venu avec:
(Ne gère pas
NaN
et les infinis).Quelques cas de test:
Ajouter les valeurs à une liste, de sorte que la liste, et de prendre la valeur de l'indice ceil(la longueur de la liste * percentile).