Calculate Somers' Delta 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.
SomersDelta(x, y = NULL, direction = c("row", "column"), conf.level = NA, ...)
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
a numeric vector or a table. A matrix will be treated as table.
NULL (default) or a vector with compatible dimensions to x
. If y is provided, table(x, y, ...)
is calculated.
direction of the calculation. Can be "row"
(default) or "column"
, where
"row"
calculates Somers' D (R | C) ("column dependent").
confidence level of the interval. If set to NA
(which is the default) no confidence interval will be calculated.
further arguments are passed to the function table
, allowing i.e. to set useNA. This refers only to the vector interface.
Andri Signorell <andri@signorell.net>
Somers' D(C|R) and Somers' D(R|C) are asymmetric modifications of \(\tau_b\) and Goodman-Kruskal's Gamma. C|R indicates that
the row variable x is regarded as the independent variable and the column variable y is regarded
as dependent. Similarly, R|C indicates that the column variable y is regarded as the independent
variable and the row variable x is regarded as dependent. It is logically very similar to Gamma, but differs in that it uses a correction only for pairs that are tied on the dependent variable. As Gamma and the Taus, D is appropriate only when both variables lie on an ordinal scale.
Somers' D is computed as
$$ D(C | R) = \frac{P-Q}{n^2 - \sum(n_i.^2)}$$
where P equals twice the number of concordances and Q twice the number of discordances and \(n_i.\) rowSums(tab). Its range lies [-1, 1]. The interpretation of d is analogous to Gamma.
Agresti, A. (2002) Categorical Data Analysis. John Wiley & Sons, pp. 57--59.
Brown, M.B., Benedetti, J.K.(1977) Sampling Behavior of Tests for Correlation in Two-Way Contingency Tables, Journal of the American Statistical Association, 72, 309-315.
Goodman, L. A., & Kruskal, W. H. (1954) Measures of association for cross classifications. Journal of the American Statistical Association, 49, 732-764.
Somers, R. H. (1962) A New Asymmetric Measure of Association for Ordinal Variables, American Sociological Review, 27, 799--811.
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.
There's an implementation of Somers's D in Frank Harrell's Hmisc somers2
,
which is quite fast for large sample sizes. However it is restricted to computing Somers' Dxy rank correlation between a variable x and a binary (0-1) variable y.
ConDisPairs
yields concordant and discordant pairs
Other association measures:
KendallTauA
(tau-a), KendallTauB
(tau-b), cor
(method="kendall") for tau-b, StuartTauC
(tau-c),
GoodmanKruskalGamma
Lambda
, GoodmanKruskalTau
, UncertCoef
, MutInf
# example in:
# http://support.sas.com/documentation/cdl/en/statugfreq/63124/PDF/default/statugfreq.pdf
# pp. S. 1821
tab <- as.table(rbind(c(26,26,23,18,9),c(6,7,9,14,23)))
# Somers' D C|R
SomersDelta(tab, direction="column", conf.level=0.95)
# Somers' D R|C
SomersDelta(tab, direction="row", conf.level=0.95)
Run the code above in your browser using DataLab