級内相関係数, Case1, ICC(1, 1), ICC(1, k)

$ICC(1,1):$は、一人の評価者が測定した値の信頼性や一貫性を評価します
$ICC(1,k):$は、一人の評価者が測定した値の平均値の信頼性や一貫性を評価します

$ICC(2, 1)$では、数名の評価者が測定した値の信頼性や一貫性を評価します
$ICC(2, k)$では、数名の評価者が測定した平均値の信頼性や一貫性を評価します

$ICC(3, 1)$では、評価者を固定した場合の測定値の信頼性や一貫性を評価します(評価者間のばらつきは考慮されません)
$ICC(3, k)$では、評価者を固定した場合の測定値
平均値の信頼性や一貫性を評価します(評価者間のばらつきは考慮されません)

下記の文献のICC(1, 1)、ICC(1, k)をRでやってみます.

Shrout PE, Fleiss JL. Intraclass correlations: uses in assessing rater reliability. Psychol Bull. 1979 Mar;86(2):420-8. doi: 10.1037//0033-2909.86.2.420.

サンプルはここからです、いつもお世話になっております

統計学入門−第5章

データの準備と要約

以下のファイルを読み込んでください(ファイルの読み込み方

R
dat <- read.csv("ICC01.csv", header=T, fileEncoding = "UTF-8")

ファイルにはこのような横データが入ってます

評価者 1名、被験者患 10名、測定回数 3 回

ICC(1,1)、ICC(1,k)はともに同じファイルを使用します

ICC(1, 1)とICC(1, k)の答えです

ICC(1,1)≒0.942、95%信頼区間:0.848  0.984
ICC(1,3)≒0.980、95%信頼区間:0.943  0.995

Rを使いながら、この解がどのようにして導かれたのかを解説します

使用するパッケージ
R
library(irr)
library(tidyr)
library(ggplot2)
縦のデータに変換
R
dat2 <- tidyr::gather(
    dat[,-5],
    key=PT,
    value=data,
    -ID)
head(dat2)

変数をfactorへ変換(ここを忘れたらグラフが変わります)

R
dat2$PT <- as.factor(dat2$PT)
dat2$ID <- as.factor(dat2$ID)

ICC(1, 1) 3回の計測結果が対象

1人の評価者が患者 ($n=10$) に対して検査を数回 ($k=3$)実施した時の信頼性を求めます

検査結果($test1, test2, test3$)の誤差が小さいと信頼性が高いと判断します

グラフでデータ構造をイメージ
R
g1 <- ggplot2::ggplot(
    dat2,
    aes(x = PT, y = data)
)

g2 <- g1 + geom_jitter(
    height=0, width =0.1, size = 3,
    aes(colour = ID)
) 

g2 + theme_test() + xlab("") +ylab("結果")

このように、IDをブロック因子とした二元配置分散分析(繰り返し測定なし)のグラフを描かれるかもしれません・・・。対応のある一元配置分散分析とも呼ばれています。でもIDを要因として考えて、以下ようなグラフをイメージしておくと理解しやすくなります。

R
#グラフの描き方
g1 <- ggplot2::ggplot(
    dat2,
    aes(x = ID, y = data)
)

g2 <- g1 + geom_jitter(
    height=0, width =0.1, size = 3,
    aes(colour = PT)
) 

m <- mean(dat2$data)

g2 + theme_test() + 
    xlab("ID") + ylab("結果") +
    geom_hline(aes(yintercept = m),
    color = "red"
)

Rの関数でICCを求める

パッケージirrのicc関数には下記のような引数が用意されています

3回計測(oneway)の一貫性(consistency)をそれぞれのデータ(single)から評価します

R
irr::icc(
    dat[,2:4],
    model="oneway",
    type="consistency",
    unit="single"
)

注意)横データを使っています

結果のみでよければ、ここまでです

ここからは、もう少し詳しく勉強しましょう

コメント欄 『間違い』や『分かりにくい部分』などのご意見もお寄せください

タイトルとURLをコピーしました