級内相関係数     Last modified: Jun 29, 2004

目的

級内相関係数を計算する

使用法

intraclass.correlation(dat)

引数

dat	データ行列(列が繰り返し)

ソース

インストールは,以下の 1 行をコピーし,R コンソールにペーストする
source("http://aoki2.si.gunma-u.ac.jp/R/src/intraclass_correlation.R", encoding="euc-jp")

# 級内相関係数を計算する
intraclass.correlation <- function(dat)              # データ行列(n 行 2 列)
{
        dat <- subset(dat, complete.cases(dat))      # 欠損値を持つケースを除く
        nr <- nrow(dat)                              # ケース数
        nc <- ncol(dat)                              # 繰り返し数
        nt <- length(dat)                    # データ総数                                    
        m <- rowMeans(dat)                   # 行ごとの平均
        U <- apply(dat, 1, var)                      # 行ごとの不偏分散
        gm <- mean(dat)                              # 全体の平均
        Sw <- sum((nc-1)*U)                  # 群内変動
        Mw <- Sw/(nt-nr)                     # 群内分散
        Sb <- sum(nc*(m-gm)^2)                       # 群間変動
        Mb <- Sb/(nr-1)                              # 群間分散
        return((Mb-Mw)/(Mb+(nc-1)*Mw))          # 級内相関係数
}


使用例

dat <- matrix(c(
	71, 71,
	79, 82,
	105, 99,
	115, 114,
	76, 70,
	83, 82,
	114, 113,
	57, 44,
	114, 113,
	94, 91,
	75, 83,
	76, 72
	), ncol=2, byrow=TRUE)

intraclass.correlation(dat)

出力結果例

0.9656288	級内相関係数を出力する


・ 直前のページへ戻る  ・ E-mail to Shigenobu AOKI

Made with Macintosh