![](/img/trans.png)
[英]How to interpret Spearman correlation in R when it's different from Excel
[英]Calculate the average of Spearman correlation
我有2列A和B,其中包含Spearman的相关值,如下所示:
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中的这两列中计算这些相关值的平均值? 我在此链接中找到了一个接近的答案: https : //stats.stackexchange.com/questions/8019/averaging-correlation-values要点是,在这种情况下,我们不能使用均值或均值,如链接中所述。 他们提出了一种不错的方法,但是我不知道如何在Excel或Matlab中实现它。
在MATLAB中,使用这些值定义一个矩阵,并使用均值函数,如下所示:
%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中Spearman的平均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)
并进行复制以计算下一列的平均值。 根据需要调整单元格范围。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.