Counts the number of concordant, discordant and (left/right) ties between two rankings.
compare_ranks(x, y)
A numeric vector.
A numeric vector with the same length as x
.
A list containing
number of concordant pairs: x[i]
> x[j]
and y[i]
> y[j]
number of discordant pairs: x[i]
> x[j]
and y[i]
< y[j]
number of tied pairs: x[i]
== x[j]
and y[i]
== y[j]
number of left ties: x[i]
== x[j]
and y[i]
!= y[j]
number of right ties: x[i]
!= x[j]
and y[i]
== y[j]
Explicitly calculating the number of occurring cases is more robust
than using correlation indices as given in the cor
function. Especially
left and right ties can significantly alter correlations.
library(igraph)
tg <- threshold_graph(100, 0.2)
compare_ranks(degree(tg), closeness(tg)) # only concordant pairs
#> $concordant
#> [1] 4727
#>
#> $discordant
#> [1] 0
#>
#> $ties
#> [1] 223
#>
#> $left
#> [1] 0
#>
#> $right
#> [1] 0
#>
compare_ranks(degree(tg), betweenness(tg)) # no discordant pairs
#> $concordant
#> [1] 2452
#>
#> $discordant
#> [1] 0
#>
#> $ties
#> [1] 223
#>
#> $left
#> [1] 0
#>
#> $right
#> [1] 2275
#>
## Rank Correlation
cor(degree(tg), closeness(tg), method = "kendall") # 1
#> [1] 1
cor(degree(tg), betweenness(tg), method = "kendall") # not 1, although no discordant pairs
#> [1] 0.7202237