手动Wilcoxon秩和检验

时间:2013-09-15 16:59:47

标签: matlab testing sum rank manual

我的统计学教授希望我们使用Matlab执行手动Wilcoxon秩和检验。不幸的是,我没有Matlab的任何经验,而且我一直在发现。简而言之,我们给出了24个配对观察的列表:

  

33 53 54 84 69 34 60 34 50 56 64 50 76 47 58 63 55 66 58 43 28 80 45   55

     

66 62 54 58 60 74 54 68 64 60 53 59 61 49 63 55 61 64 54 59 64 46 70   82

我已经达到了这样的程度,即我在第一列中存在绝对差异的矩阵,第二列中的差异符号(由1表示正数,-1表示为负数)和等级第三栏中的差异(1到24)。

我正在努力寻找一种快速有效的方法来“打破相同规模差异之间的联系”,并为这些差异分配平均等级。我希望可能需要一些循环和逻辑语句,但由于我之前没有经验,所以我很难用它们。

非常感谢任何关于如何做到这一点的建议。

1 个答案:

答案 0 :(得分:0)

对具有匹配差异的条目的排名进行平均的一种方法如下:

irankavg=zeros(length(dp),1);
[dpu,ix,iclass]=unique(dp);
for ii=1:length(dpu)
    irankavg(iclass(ii)==iclass) = mean(irank(iclass(ii)==iclass));    
end

其中dp是包含差异的列数组