ケンドールの順位相関係数行列 Last modified: Feb 09, 2005
目的
ケンドールの順位相関係数行列を計算する。
使用法
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
解説ページ
直前のページへ戻る
E-mail to Shigenobu AOKI