Calculating Kendall's tau
62 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Anna
am 3 Aug. 2013
Bearbeitet: VENKATA PHANIKRISHNA B
am 15 Okt. 2019
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
0 Kommentare
Akzeptierte Antwort
Wayne King
am 3 Aug. 2013
Bearbeitet: Wayne King
am 3 Aug. 2013
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
Weitere Antworten (1)
VENKATA PHANIKRISHNA B
am 15 Okt. 2019
Bearbeitet: VENKATA PHANIKRISHNA B
am 15 Okt. 2019
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
0 Kommentare
Siehe auch
Kategorien
Mehr zu Descriptive Statistics finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!