『統計クイックリファレンス 第2版』第5章 カテゴリデータ p.127~128 コーエンのカッパ、カッパ係数、カッパをR(R言語)で

Rコード

# コーエンのカッパ、カッパ係数、カッパ
二値結果に関する2つの検査の一致度 <- data.frame(my_data = c(50, 10, 10, 30))
二値結果に関する2つの検査の一致度

# データフレームをマトリクスに変換
mt1 <- as.matrix(二値結果に関する2つの検査の一致度)
mt1

# mt1を2 * 2のマトリクスに変換
mt2 <- matrix(mt1, nrow = 2, ncol = 2)
mt2

# パッケージ"vcd"のKappa()で計算
library("vcd")
Kappa(mt2)




# 手計算する場合
m3 <- matrix(c("a", "b", "c", "d"), nrow = 2, ncol = 2)
m3

rownames(m3) <- c("+", "-")
colnames(m3) <- c("+", "-")
m3

# セルaとbは一致を意味する
# セルbとcは不一致を意味する

# カッパの式
# k = (Po - Pe) / (1 - Pe)
# Po = 実測一致率
# Pe = 期待一致率
# Po = (a + b) / (a + b + c + d)

# 一致した事例数を事例総数で割る。
Po <- 80 / 100
Po

# 偶然に一致する事例数
#Pe <- ((a + c)*(a + b)) / (a + b + c + d)^2 + ((b + d)*(c + d)) / (a + b + c + d)^2
Pe <- (60*60) / (100*100) + (40*40) / (100*100)
Pe

# カッパ
K <- (Po - Pe) / (1 - Pe)
K

R Console

> # コーエンのカッパ、カッパ係数、カッパ
> 二値結果に関する2つの検査の一致度 <- data.frame(my_data = c(50, 10, 10, 30))
> 二値結果に関する2つの検査の一致度
  my_data
1      50
2      10
3      10
4      30
> 
> # データフレームをマトリクスに変換
> mt1 <- as.matrix(二値結果に関する2つの検査の一致度)
> mt1
     my_data
[1,]      50
[2,]      10
[3,]      10
[4,]      30
> 
> # mt1を2 * 2のマトリクスに変換
> mt2 <- matrix(mt1, nrow = 2, ncol = 2)
> mt2
     [,1] [,2]
[1,]   50   10
[2,]   10   30
> 
> # パッケージ"vcd"のKappa()で計算
> library("vcd")
> Kappa(mt2)
            value     ASE     z  Pr(>|z|)
Unweighted 0.5833 0.08297 7.031 2.057e-12
Weighted   0.5833 0.08297 7.031 2.057e-12
> 
> 
> 
> 
> # 手計算する場合
> m3 <- matrix(c("a", "b", "c", "d"), nrow = 2, ncol = 2)
> m3
     [,1] [,2]
[1,] "a"  "c" 
[2,] "b"  "d" 
> 
> rownames(m3) <- c("+", "-")
> colnames(m3) <- c("+", "-")
> m3
  +   -  
+ "a" "c"
- "b" "d"
> 
> # セルaとbは一致を意味する
> # セルbとcは不一致を意味する
> 
> # カッパの式
> # k = (Po - Pe) / (1 - Pe)
> # Po = 実測一致率
> # Pe = 期待一致率
> # Po = (a + b) / (a + b + c + d)
> 
> # 一致した事例数を事例総数で割る。
> Po <- 80 / 100
> Po
[1] 0.8
> 
> # 偶然に一致する事例数
> #Pe <- ((a + c)*(a + b)) / (a + b + c + d)^2 + ((b + d)*(c + d)) / (a + b + c + d)^2
> Pe <- (60*60) / (100*100) + (40*40) / (100*100)
> Pe
[1] 0.52
> 
> # カッパ
> K <- (Po - Pe) / (1 - Pe)
> K
[1] 0.5833333

参考文献

統計クイックリファレンス 第2版

統計クイックリファレンス 第2版