Calculating Kendall's tau

63 ビュー (過去 30 日間)
Anna
Anna 2013 年 8 月 3 日
編集済み: VENKATA PHANIKRISHNA B 2019 年 10 月 15 日
Hi, I'm trying to calculate Kendall's tau using the 'corrcoef' command. My code so far is:
A_col = A_short'
idx = find(~isnan(B)+~isnan(A_col)==2);
[RHO,PVAL] = corrcoef(B(idx),A_col(idx),'type',Kendall)
The last line produces the error 'Undefined function or variable 'Kendall'. According to matlab help this is a valid value so how can I specify that I want a Kendall tau correaltion as oposed to a Pearson correlation?
Please help. Thanks

採用された回答

Wayne King
Wayne King 2013 年 8 月 3 日
編集済み: Wayne King 2013 年 8 月 3 日
Hi Anna, 'Kendall' is not an option of corrcoef(). It is an option for the function corr(), which is part of the Statistics Toolbox.
So, this will work:
x = randn(30,4);
y = randn(30,4);
y(:,4) = sum(x,2);
[r,p] = corr(x,y,'type','Kendall');
provided you have the Statistics Toolbox
  1 件のコメント
Anna
Anna 2013 年 8 月 3 日
Hi Wayne, thank you that works brilliantly! I was worried that using corr instead of corrcoef would give me a huge matrix of r and p values but there's only one thankfully! Cheers :)

サインインしてコメントする。

その他の回答 (1 件)

VENKATA PHANIKRISHNA B
VENKATA PHANIKRISHNA B 2019 年 10 月 15 日
編集済み: VENKATA PHANIKRISHNA B 2019 年 10 月 15 日
a = [15, 18, 21, 24, 27]' ;
b = [25, 25, 27, 31, 32]' ;
[RHO,PVAL] = corr(a,b,'Type','Pearson');
fprintf('Pearsons correlation: %.3f \n',RHO);
fprintf('Pearsons P: %.3f \n',PVAL);
[RHO,PVAL] = corr(a,b,'Type','Spearman');
fprintf('Spearman correlation: %.3f \n',RHO);
fprintf('Spearman P: %.3f \n',PVAL);
[RHO,PVAL] = corr(a,b,'Type','Kendall');
fprintf('Kendall correlation: %.3f \n',RHO);
fprintf('Kendall P: %.3f \n',PVAL);
Pearsons correlation: 0.953
Pearsons P: 0.012
Spearman correlation: 0.975
Spearman P: 0.033
Kendall correlation: 0.949
Kendall P: 0.033

カテゴリ

Help Center および File ExchangeDescriptive Statistics についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by