2010-10-20 71 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