[R] kendall tau distance
David L Carlson
dcarlson at tamu.edu
Sun Sep 13 22:30:52 CEST 2015
The function takes a two way table. Assuming your example involves two ordinal vectors c(1,2,3,4,5) and c(3,4,1,2,5), you need:
> xy <- table(c(1,2,3,4,5),c(3,4,1,2,5))
> xy
1 2 3 4 5
1 0 0 1 0 0
2 0 0 0 1 0
3 1 0 0 0 0
4 0 1 0 0 0
5 0 0 0 0 1
> cd <- ConDisPairs(xy)
> cd
$pi.c
[,1] [,2] [,3] [,4] [,5]
[1,] 3 2 2 1 0
[2,] 2 1 1 2 1
[3,] 2 1 1 2 2
[4,] 1 2 2 3 3
[5,] 0 1 2 3 4
$pi.d
[,1] [,2] [,3] [,4] [,5]
[1,] 0 1 2 2 3
[2,] 1 2 2 2 2
[3,] 2 2 2 1 1
[4,] 2 2 1 0 0
[5,] 3 2 1 0 0
$C
[1] 6
$D
[1] 4
Where C is the number of concordant pairs and D is the number of discordant pairs. Kendall's tau distance is the number of discordant pairs = 4 and the normalized tau is 4/(5*(5-1)/2) = .4.
$pi.c and $pi.d are used to compute C and D as follows:
> sum((xy * cd$pi.c))/2
[1] 6
> sum((xy * cd$pi.d))/2
[1] 4
David L. Carlson
Department of Anthropology
Texas A&M University
-----Original Message-----
From: Ragia Ibrahim [mailto:ragia11 at hotmail.com]
Sent: Saturday, September 12, 2015 4:21 AM
To: David L Carlson <dcarlson at tamu.edu>; r-help at r-project.org
Subject: RE: [R] kendall tau distance
many thanks for replying.
I have the vectors
running the code
ConDisPairs( data.frame(c(1,2,3,4,5),c(3,4,1,2,5)) )
$pi.c
[,1] [,2]
[1,] 12 0
[2,] 8 1
[3,] 7 3
[4,] 5 6
[5,] 0 10
$pi.d
[,1] [,2]
[1,] 0 14
[2,] 3 12
[3,] 7 9
[4,] 8 5
[5,] 10 0
$C
[1] 69
$D
[1] 109
I could not find the result related to the result at wiki page in any way..looking for 4 ? dissimilar pairs?
many thanks
----------------------------------------
> From: dcarlson at tamu.edu
> To: ragia11 at hotmail.com; r-help at r-project.org
> Subject: RE: [R] kendall tau distance
> Date: Fri, 11 Sep 2015 15:37:19 +0000
>
> The Wikipedia article gives a simple formula based on the number of discordant pairs. You can get that from the ConDisPairs() function in package DescTools.
>
> -------------------------------------
> David L Carlson
> Department of Anthropology
> Texas A&M University
> College Station, TX 77840-4352
>
> -----Original Message-----
> From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of Ragia Ibrahim
> Sent: Thursday, September 10, 2015 12:40 PM
> To: r-help at r-project.org
> Subject: [R] kendall tau distance
>
> Dear group
> how to calculate kendall tau distance according to Kendall_tau_distance at wikipedia
>
> <a href="https://en.wikipedia.org/wiki/Kendall_tau_distance" target="_blank" class="newlyinsertedlink">https://en.wikipedia.org/wiki/Kendall_tau_distance</a>
>
>
> thanks in advance
> Ragia
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
More information about the R-help
mailing list