计算Spearman相关的平均值

我有2列A和B包含斯皮尔曼的相关值如下:

0.127272727 -0.260606061 -0.090909091 -0.224242424 0.345454545 0.745454545 0.478787879 0.660606061 -0.345454545 -0.333333333 0.151515152 -0.127272727 0.478787879 0.660606061 -0.321212121 -0.284848485 0.284848485 0.515151515 0.36969697 -0.139393939 -0.284848485 0.272727273 

如何计算Excel或Matlab中这两列的相关值的平均值? 我在这个链接中find了一个很好的答案: https : //stats.stackexchange.com/questions/8019/averaging-correlation-values主要的一点是我们不能在这种情况下使用mean或average,正如链接中所解释的。 他们提出了一个很好的方法来做到这一点,但我不知道如何在Excel或Matlab中实现它。

在MATLAB中,用这些值定义一个matrix,使用平均函数如下:

 %define a matrix M M = [0.127272727 -0.260606061; -0.090909091 -0.224242424; 0.345454545 0.745454545; 0.478787879 0.660606061; -0.345454545 -0.333333333; 0.151515152 -0.127272727; 0.478787879 0.660606061; -0.321212121 -0.284848485; 0.284848485 0.515151515; 0.36969697 -0.139393939; -0.284848485 0.272727273]; %calculates the mean of each column meanVals = mean(M); 

结果

 meanVals = 0.1085 0.1350 

也可以计算每行的总平均值和平均值,如下所示:

 meanVals = mean(M); %total mean meanVals = mean(M,2); %mean of each row 

在你提供的链接的第二个答案,这是最一般的情况下,你可以计算平均斯皮尔曼在Matlab中的rho如下:

 M = [0.127272727 -0.260606061; -0.090909091 -0.224242424; 0.345454545 0.745454545; 0.478787879 0.660606061; -0.345454545 -0.333333333; 0.151515152 -0.127272727; 0.478787879 0.660606061; -0.321212121 -0.284848485; 0.284848485 0.515151515; 0.36969697 -0.139393939; -0.284848485 0.272727273]; z = atanh(M); meanRho = tanh(mean(z)); 

正如你可以看到它给出的平均值

 meanRho = 0.1165 0.1796 

而简单的意思是非常接近的:

 mean(M) ans = 0.1085 0.1350 

编辑:关于费舍尔转型的更多信息。

你知道Excel有一个函数来计算平均值吗? 您可以使用

 =AVERAGE(A1:A11) 

并复制以计算下一列的平均值。 根据需要调整细胞范围。