2010-10-20 35 views
13

Tôi đang cố gắng viết một hệ thống báo cáo cho một dự án mà tôi đang nghiên cứu để phân tích điểm kiểm tra trước và sau của mọi người và thực hiện một số phân tích về nó. Tôi đã tìm kiếm tốt nhất khả năng của mình, nhưng không thể tìm thấy một lớp PHP/tập hợp các chức năng dường như thực hiện phân tích mà tôi cần.Phân tích thống kê cho PHP

Hiện tại, tôi đang đổ bộ dữ liệu sang CSV và một trong những đồng nghiệp của tôi đang chạy nó thông qua SPSS để thực hiện kiểm tra t-ghép mẫu (đó là phân tích tôi cần chạy, vì chúng tôi cần p- giá trị).

Tôi biết rằng có lớp này trong PHP: http://usphp.com/manual/en/ref.stats.php, tuy nhiên, không có tài liệu nào trong số đó dường như được ghi thành tài liệu mà tôi có thể hiểu được.

Tôi không phải tự mình viết phân tích, nhưng nếu nó đã tồn tại, tôi muốn tránh tái phát minh ra bánh xe.

Cảm ơn bạn đã trợ giúp!

+0

gì sắp xếp của báo cáo bạn đang muốn tạo ra? Biểu đồ? – iamjonesy

+0

Tôi đã sản xuất tất cả các biểu đồ và mức trung bình tôi cần. Tôi theo nghĩa đen chỉ cần tính toán giá trị p thống kê cho các tập dữ liệu của tôi. –

+1

Bạn có thể sử dụng sức mạnh của R để thống kê cho bạn và gọi nó trực tiếp từ php. http://www.matthewjockers.net/2008/11/11/executing-r-in-php/ –

Trả lời

2

Có vẻ như bạn sẽ muốn sử dụng chức năng stats_stat_paired_t. Tôi không chắc chắn nếu bạn đã thử này chưa, nhưng bạn có thể tìm ra nếu chức năng này làm những gì bạn cần nó để làm bằng cách nhìn vào source code của nó. Tìm trong số liệu thống kê.c, dòng 3201.

+0

Từ những gì tôi có thể nói, tạo ra giá trị t, nhưng tôi hy vọng sẽ tìm thấy một hàm thực sự tạo ra giá trị p và giá trị tvalue? –

2

Paul, tôi đã làm chính xác điều này cho một hệ thống kiểm tra tâm lý (www.coolidgetests.com) và thấy nó thực sự không phải là khó khăn để làm một mình. Giống như bạn, tôi đã tìm kiếm và tìm kiếm một giải pháp có sẵn. Lúc đầu, nó đáng sợ phải thừa nhận thất bại và bắt đầu viết mã, nhưng cuối cùng tôi thấy nó không quá tệ.

Trong trường hợp của tôi, người dùng thực hiện phép thử tạo kết quả (1-4) Tất cả bị kẹt vào một DB. Để thực hiện báo cáo, tôi chọn toàn bộ nhóm câu trả lời cho bài kiểm tra đã chọn, chia chúng ra cho các câu trả lời được ghi bình thường và các câu trả lời (1 = 4, 2 = 3, v.v.) tuyên bố. Hai mảng được kết hợp, sau đó các hàm tính toán đi qua để tạo ra T, Z và các điểm thống kê có liên quan khác. Tôi tung ra các bảng xếp hạng rất đơn giản thông qua một bảng được tô bóng dựa trên tỷ lệ phần trăm được tính toán.

CẬP NHẬT -

Dưới đây là Z của tôi và chức năng T-Hệ số:

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

Bạn có cơ hội nào tạo ra điểm số T, adn sau đó là giá trị p tiếp theo không? –

+0

Cập nhật với các hàm Z-và T-score của tôi. Tôi đã chia nhỏ từng phần vì chúng đang được sử dụng ở nơi khác trên ứng dụng báo cáo. Về cơ bản, $ scale là các câu trả lời tổng hợp, trung bình và STDIV (độ lệch chuẩn) là các số đã biết được cung cấp cho tôi và được rút ra từ DB cho mỗi thang đo. – bpeterson76

Các vấn đề liên quan