рассчитать процентиль для каждой записи в списке данных - PullRequest
0 голосов
/ 30 июля 2011
//I have a list of students List<Student>  
Students  
{  
     lond StudentId;  
     double Marks;  
     int Rank;  
    double Percentile;  
}  

Мне дают Id и Marks, и мне нужно вычислить ранг и процентиль. Я искал методы для вычисления процентиля, но они дают ответ в другом формате, например - как рассчитать 95-й процентиль или 5-й процентиль.

Но мне нужно вычислить ранг и особый процентиль для каждого студента, а не конкретного держателя процентилей.
спасибо заранее ...

1 Ответ

3 голосов
/ 30 июля 2011

Хорошо, вам нужно сначала ранжировать / сортировать всех учеников по меткам так, чтобы лучшая оценка была первой в списке. Тогда вы можете заполнить ранг, просто посчитав.

За процентиль вы берете (TotalNumberOfStudents - Rank of Student) / (TotalNumberOfStudents - 1)

Другими словами, если вы являетесь учеником с самым высоким рейтингом, вы лучше, чем 100% других учеников, и если вы оцениваете 50 из 100 учеников, то вы лучше, чем 50% учеников.

Теперь одна проблема заключается в том, что если учащиеся могут иметь одинаковую точную оценку, их не нужно учитывать в знаменателе формулы, поскольку это число студентов хуже вас.

...