2010-10-20 37 views
13

我正在尝试为我正在开发的项目编写一个报告系统,分析人员的前后测试分数并对其进行一些分析。我已经尽力找到了自己的能力,但无法找到似乎可以进行分析的PHP类/函数集。针对PHP的统计分析

目前,我将数据集转储为CSV,并且我的一位同事正在通过SPSS运行它以执行配对样本t检验(这是我需要运行的分析,因为我们需要p-值)。

我知道PHP中有这个类:http://usphp.com/manual/en/ref.stats.php, 但是,似乎没有任何文件记录到我可以理解的地步。

我不介意自己写分析,但如果它已经存在,我想避免重新发明轮子。

感谢您的帮助!

+0

,你想要什么样的报告产生?图表? – iamjonesy 2010-10-20 15:00:38

+0

我已经生成了我需要的所有图表和平均值。我实际上只需要计算我的数据集的统计p值。 – 2010-10-20 15:07:55

+1

您可以使用R的力量为您做统计,并直接从php中调用它。 http://www.matthewjockers.net/2008/11/11/executing-r-in-php/ – 2012-08-06 07:16:46

回答

2

这听起来像你要使用stats_stat_paired_t函数。我不知道你是否已经尝试过这个功能,但是你可以通过查看它的source code来判断这个功能是否能满足你的需求。查看statistics.c,3201行。

+0

从我可以告诉,产生的t值,但我希望找到一个函数,实际上产生p值和t值? – 2010-10-20 14:57:38

2

保罗,我为心理测试系统(www.coolidgetests.com)做了这件事,发现自己确实不是那么难。和你一样,我搜索并寻找可用的解决方案。刚开始承认失败并开始编写代码时,它很吓人,但最终我发现它并不算太坏。

在我的情况下,用户进行一个测试,产生一个结果(1-4)所有卡在一个数据库中。为了完成这个报告,我选择了所选测试的整个答案组,并将它们拆分为正常得分的答案和相反的答案(1 = 4,2 = 3等),然后用交换机改变这些答案声明。两个数组组合在一起,然后计算函数通过生成T,Z和其他相关的统计分数。我非常简单地通过一个基于计算百分比的阴影表格来排出图表。

更新 -

这里是我的Z和T-得分功能:

function calculateZscore($scale, $median, $stdiv) { 
     if ($stdiv != 0) { 
      $zval = ($scale - $median)/$stdiv; 
     } 

     else $zval = 0; 
     return $zval; 
    } 

    function calculateTscore($zval) { 
     $tval = 50+ (10) * ($zval); 
     return $tval; 
    } 
+0

你有没有机会拥有产生T分数的函数,然后是后续的p值? – 2010-10-20 16:10:14

+0

更新了我的Z和T分数函数。我已经分解了每一个,因为他们在报告应用程序的其他地方使用。从本质上讲,$尺度是总结答案,中位数和STDIV(标准偏差)是已知数字,这些数字是提供给我的,并且是从每个尺度的数据库中提取的。 – bpeterson76 2010-10-20 16:45:28