目的 ケンドールの順位相関係数行列を計算する。 使用法 3変数以上のケンドールの順位相関係数行列を求める kendall(data.matrix) 2変数間のケンドールの順位相関係数を求める kendall2(x, y) 引数 data.matrix データ行列(列が変数) x, y データベクトル ソース インストールは,以下の 1 行をコピーし,R コンソールにペーストする source("http://aoki2.si.gunma-u.ac.jp/R/src/kendall.R", encoding="euc-jp") kendall2 <- function(x, y) # 2変数間のケンドールの順位相関係数 { cor(cbind(x, y), use="complete.obs", method="kendall")[1, 2] } kendall <- function(dat) # ケンドールの順位相関係数行列 { cor(dat, use="complete.obs", method="kendall") } 使用例 d <- matrix(c(1, 3, 5, 2, 2, 4, 3, 1, 23, 2, 4, 4, 4, 3, 3, 5, 2, 1, 3, 5, 3), byrow=TRUE, ncol=3) # 7行3列のデータ行列 kendall(d) 出力結果例 > d <- matrix(c(1, 3, 5, 2, 2, 4, 3, 1, 23, 2, 4, 4, 4, 3, 3, 5, 2, 1, 3, 5, 3), byrow=TRUE, ncol=3) > d [,1] [,2] [,3] # このようなデータ [1,] 1 3 5 [2,] 2 2 4 [3,] 3 1 23 [4,] 2 4 4 [5,] 4 3 3 [6,] 5 2 1 [7,] 3 5 3 > kendall(d) [,1] [,2] [,3] [1,] 1.0000000 -0.1578947 -0.6315789 [2,] -0.1578947 1.0000000 -0.2631579 [3,] -0.6315789 -0.2631579 1.0000000 > kendall2(d[,1], d[,2]) [1] -0.1578947 > cor(d, method="kendall") # cor 関数を使う場合 [,1] [,2] [,3] [1,] 1.0000000 -0.1578947 -0.6315789 [2,] -0.1578947 1.0000000 -0.2631579 [3,] -0.6315789 -0.2631579 1.0000000 解説ページ