Weighted Dependence Measures

Provides efficient implementations of weighted dependence measures and related asymptotic tests for independence. Implemented measures are the Pearson correlation, Spearman's rho, Kendall's tau, Blomqvist's beta, and Hoeffding's D; see, e.g., Nelsen (2006) and Hollander et al. (2015, ISBN:9780470387375).


Travis build status AppVeyor build status Coverage status CRAN status

R interface to the wdm C++ library, which provides efficient implementations of weighted dependence measures and related independence tests:

  • Pearsons's rho
  • Spearmans's rho
  • Kendall's tau
  • Blomqvist's beta
  • Hoeffding's D

All measures are computed in O(n log n) time, where n is the number of observations.

For a detailed description of the functionality, see the API documentation.

  • the stable release from CRAN:
install.packages("wdm")
  • the development version from GitHub with:
# install.packages("devtools")
install_submodule_git <- function(x, ...) {
  install_dir <- tempfile()
  system(paste("git clone --recursive", shQuote(x), shQuote(install_dir)))
  devtools::install(install_dir, ...)
}
install_submodule_git("https://github.com/tnagler/wdm-r")

Cloning

This repo contains wdm as a submodule. For a full clone use

git clone --recurse-submodules <repo-address>

Examples

library(wdm)
Dependence between two vectors
x <- rnorm(100)
y <- rpois(100, 1)  # all but Hoeffding's D can handle ties
w <- runif(100)
wdm(x, y, method = "kendall")               # unweighted
#> [1] -0.002378163
wdm(x, y, method = "kendall", weights = w)  # weighted
#> [1] 0.08897884
Dependence in a matrix
x <- matrix(rnorm(100 * 3), 100, 3)
wdm(x, method = "spearman")               # unweighted
#>            [,1]        [,2]        [,3]
#> [1,]  1.0000000 -0.23383138 -0.05200120
#> [2,] -0.2338314  1.00000000 -0.03560756
#> [3,] -0.0520012 -0.03560756  1.00000000
wdm(x, method = "spearman", weights = w)  # weighted
#>            [,1]        [,2]        [,3]
#> [1,]  1.0000000 -0.13603502 -0.12951931
#> [2,] -0.1360350  1.00000000 -0.07473239
#> [3,] -0.1295193 -0.07473239  1.00000000
Independence test
x <- rnorm(100)
y <- rpois(100, 1)  # all but Hoeffding's D can handle ties
w <- runif(100)
indep_test(x, y, method = "kendall")               # unweighted
#>      estimate  statistic   p_value n_eff  method alternative
#> 1 -0.05555546 -0.6291182 0.5292717   100 kendall   two-sided
indep_test(x, y, method = "kendall", weights = w)  # weighted
#>      estimate  statistic   p_value   n_eff  method alternative
#> 1 -0.09298105 -0.9139628 0.3607364 75.5839 kendall   two-sided

News

wdm 0.2.1

  • keep debugging symbols after package install (following a request by Prof. Ripley).

wdm 0.2.0

  • use more intuitive formula for Pearson's rho that is linear in weights.

wdm 0.1.2

  • fix typos and formatting issues in manual pages.

wdm 0.1.1

BUG FIX

  • inline normalCDF() to avoid multiple definition errors when LinkingTo wdm.

wdm 0.1.0

  • Initial release.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("wdm")

0.2.1 by Thomas Nagler, 3 months ago


https://github.com/tnagler/wdm-r


Report a bug at https://github.com/tnagler/wdm-r/issues


Browse source code at https://github.com/cran/wdm


Authors: Thomas Nagler [aut, cre]


Documentation:   PDF Manual  


MIT + file LICENSE license


Imports Rcpp

Suggests testthat, Hmisc, copula, covr

Linking to Rcpp


Linked to by rvinecopulib.


See at CRAN