繁体   English   中英

计算Spearman相关的平均值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM