Computes Kendall's coefficient of concordance, a popular measure of association. It is an index of interrater reliability of ordinal data. The coefficient could be corrected for ties within raters.

KendallW(x, correct = FALSE, test = FALSE, na.rm = FALSE)

Arguments

x

\(n \times m\) matrix or dataframe, k subjects (in rows) m raters (in columns).

correct

a logical indicating whether the coefficient should be corrected for ties within raters.

test

a logical indicating whether the test statistic and p-value should be reported.

na.rm

logical, indicating whether NA values should be stripped before the computation proceeds. If set to TRUE only the complete cases of the ratings will be used. Defaults to FALSE.

Details

The test for Kendall's W is completely equivalent to friedman.test. The only advantage of this test over Friedman's is that Kendall's W has an interpretation as the coefficient of concordance. The test itself is only valid for large samples.
Kendall's W should be corrected for ties, if raters did not use a true ranking order for the subjects.

Value

Either a single value if test is set to FALSE or else

a list with class “htest” containing the following components:

statistic

the value of the chi-square statistic.

p.value

the p-value for the test.

method

the character string “Kendall's coefficient of concordance W”.

data.name

a character string giving the name(s) of the data.

estimate

the coefficient of concordance.

parameter

the degrees of freedom df, the number of subjects examined and the number of raters.

Note

This function was previously published as kendall() in the irr package and has been integrated here without logical changes, but with some adaptations in the result structure.

References

Kendall, M.G. (1948) Rank correlation methods. London: Griffin.

Author

Matthias Gamer <m.gamer@uke.uni-hamburg.de>

Examples

anxiety <- data.frame(rater1=c(3,3,3,4,5,5,2,3,5,2,2,6,1,5,2,2,1,2,4,3),
                      rater2=c(3,6,4,6,2,4,2,4,3,3,2,3,3,3,2,2,1,3,3,4),
                      rater3=c(2,1,4,4,3,2,1,6,1,1,1,2,3,3,1,1,3,3,2,2))

KendallW(anxiety, TRUE)
#> [1] 0.5396569

# with test results
KendallW(anxiety, TRUE, test=TRUE)
#> 
#> 	Kendall's coefficient of concordance Wt
#> 
#> data:  anxiety
#> Kendall chi-squared = 30.76, df = 19, subjects = 20, raters = 3,
#> p-value = 0.04288
#> alternative hypothesis: Wt is greater 0
#> sample estimates:
#>        Wt 
#> 0.5396569 
#> 

# example from Siegel and Castellan (1988)
d.att <- data.frame(
  id        = c(4,21,11),
  airfare   = c(5,1,4),
  climate   = c(6,7,5),
  season    = c(7,6,1),
  people    = c(1,2,3),
  program   = c(2,3,2),
  publicity = c(4,5,7),
  present   = c(3,4,6),
  interest  = c(8,8,8)
)

KendallW(t(d.att[, -1]), test = TRUE)
#> 
#> 	Kendall's coefficient of concordance W
#> 
#> data:  t(d.att[, -1])
#> Kendall chi-squared = 13.778, df = 7, subjects = 8, raters = 3, p-value
#> = 0.05528
#> alternative hypothesis: W is greater 0
#> sample estimates:
#>         W 
#> 0.6560847 
#> 

# which is perfectly the same as
friedman.test(y=as.matrix(d.att[,-1]), groups = d.att$id)
#> 
#> 	Friedman rank sum test
#> 
#> data:  as.matrix(d.att[, -1])
#> Friedman chi-squared = 13.778, df = 7, p-value = 0.05528
#>