我有一个监控学生表现的系统。它列出了获得1,1.25,1.5,.... 5分的学生人数(这是我们的评分系统)。例如:
grading system number of students
1 12
1.25 10
1.5 15
1.75 15
2 20
2.25 1
2.5 5
2.75 6
3 8
5 0
从这个例子中,我需要我的系统来确定哪个是模式然后打印它。我还需要得到标准偏差。
我需要在PHP中使用它。谁能帮我这个? 您的想法,意见和建议表示赞赏。
这是我到目前为止所做的:
完成了标准偏差...但仍然存在差异我无法解决...当我手动计算标准偏差时......答案与我的系统输出不同..&gt;。&lt; < / p>
虽然对于我使用数组的模式..这是我的代码:
$sample = array($one[$ctr],$two[$ctr],$three[$ctr],$four[$ctr],$five[$ctr],$six[$ctr],$seven[$ctr],$eight[$ctr],$nine[$ctr],$ten[$ctr],$fda[$ctr]);
rsort($sample);
$holder = $sample[0];
//$holder = $mode;
排序是成功的,我可以是最高的数字,但我需要使用fpdf将$holder
的值打印到表中。
任何想法,为什么值在输出中不可见?
答案 0 :(得分:4)
嗯,模式很简单。只要找到学生人数最多的等级(2)(20),那就是。
如果有多个,那么它是多模态的,你应该允许这样做。
对于标准偏差,可以找到方法here。它基本上计算了所有这些数字的平均值(让我们通过使用1,1,2和7来简化它):
1 + 1 + 2 + 7 10
------------- = -- = 2.5
4 4
然后从该平均值计算所有这些样本的方差的平方根:
_____________________________________________
/ (1-2.5)^2 + (1-2.5)^2 + (2-2.5)^2 + (7-2.5)^2
/ ---------------------------------------------
\/ 4
__________________________
/ 2.25 + 2.25 + 0.25 + 20.25
= / --------------------------
\/ 4
= 2.5