Goodman Kruskal's Gamma

Calculate Goodman Kruskal's Gamma statistic, a measure of association for ordinal factors in a two-way table. The function has interfaces for a table (matrix) and for single vectors.

nonparametric, multivar
GoodmanKruskalGamma(x, y = NULL, conf.level = NA, ...)
a numeric vector or a contingency table. A matrix will be treated as a table.

NULL (default) or a vector with compatible dimensions to x. If y is provided, table(x, y, ...) is calculated.

confidence level of the interval. If set to NA (which is the default) no confidence intervals will be calculated.

further arguments are passed to the function table, allowing i.e. to set useNA. This refers only to the vector interface.


The estimator of $gamma$ is based only on the number of concordant and discordant pairs of observations. It ignores tied pairs (that is, pairs of observations that have equal values of X or equal values of Y). Gamma is appropriate only when both variables lie on an ordinal scale. It has the range [-1, 1]. If the two variables are independent, then the estimator of gamma tends to be close to zero. For $2 x 2$ tables, gamma is equivalent to Yule's Q (YuleQ). Gamma is estimated by $$ G = \frac{P-Q}{P+Q}$$ where P equals twice the number of concordances and Q twice the number of discordances.


a single numeric value if no confidence intervals are requested, and otherwise a numeric vector with 3 elements for the estimate, the lower and the upper confidence interval


Agresti, A. (2002) Categorical Data Analysis. John Wiley & Sons, pp. 57-59.

Goodman, L. A., & Kruskal, W. H. (1954) Measures of association for cross classifications. Journal of the American Statistical Association, 49, 732-764.

Goodman, L. A., & Kruskal, W. H. (1963) Measures of association for cross classifications III: Approximate sampling theory. Journal of the American Statistical Association, 58, 310-364.

See Also

There's another implementation of gamma in vcdExtra GKgamma ConDisPairs yields concordant and discordant pairs Other association measures: KendallTauA (tau-a), KendallTauB (tau-b), cor (method="kendall") for tau-b, StuartTauC (tau-c), SomersDelta Lambda, GoodmanKruskalTau (tau), UncertCoef, MutInf

  • GoodmanKruskalGamma

# example in:
# pp. S. 1821

tab <- as.table(rbind(
  c(26,26,23,18, 9),
  c( 6, 7, 9,14,23))

GoodmanKruskalGamma(tab, conf.level=0.95)
Documentation reproduced from package DescTools, version 0.99.19, License: GPL (>= 2)

Community examples

Looks like there are no examples yet.