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

下記の文献のICC(2, 1)、ICC(2, 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.
サンプルはここからです(いつもお世話になってます)
この記事を読まれる前にICC(1, 1)、ICC(1, k)をご参照ください
データの準備と要約
ICC(1, 1)、ICC(1, k)で使用したデータと同じファイルになります.3名の評価者が10名の患者に検査を実施した場合の誤差について検証します.ここではtest1=評価者1、test2=評価者2、test3=評価者3とします.
> head(dat)
ID test1 test2 test3 mean
1 1 15 10 21 15.333
2 2 30 14 38 27.333
3 3 34 42 36 37.333
4 4 52 38 40 43.333
5 5 58 51 42 50.333
6 6 69 78 63 70.000
使用するパッケージ
library(irr)
library(tidyr)
library(ggplot2)
縦のデータに変換
dat2 <- tidyr::gather(
dat[,-5],
key=PT,
value=data,
-ID)
head(dat2)
> head(dat2)
ID PT data
1 1 test1 15
2 2 test1 30
3 3 test1 34
4 4 test1 52
5 5 test1 58
6 6 test1 69
変数をfactorへ変換(ここを忘れたらグラフが変わります)
factor()
関数は名義変数をカテゴリカル変数(因子型変数)に変換し、データのカテゴリーは「水準」として定義されます。levels()
関数で表示されるカテゴリカル変数の水準のうち、最初に表示されるカテゴリーがデフォルトで基準カテゴリー(参照カテゴリー)となり、統計モデルでの比較の基点として機能します。relevel()
関数や factor()
関数の levels
引数を使用することで、レベルの順序を指定し、基準カテゴリーを変更することが可能です。
dat2$PT <- as.factor(dat2$PT)
levels(dat2$PT)
dat2$ID <- as.factor(dat2$ID)
levels(dat2$ID)
> dat2$PT <- as.factor(dat2$PT)
> levels(dat2$PT)
[1] "test1" "test2" "test3"
> dat2$ID <- as.factor(dat2$ID)
> levels(dat2$ID)
[1] "1" "2" "3" "4" "5" "6" "7" "8" "9" "10"
グラフでデータ構造を可視化
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("評価者3名の検査結果") +
geom_hline(aes(yintercept = m),
color = "red"
)

test1=評価者1、test2=評価者2、test3=評価者3
コメント欄 『間違い』や『分かりにくい部分』などのご意見もお寄せください