0

我的统计学教授希望我们使用 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)在第三列。

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

任何有关如何做到这一点的建议将不胜感激。

4

1 回答 1

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是包含差异的列数组

于 2013-09-15T22:22:35.300 回答