2017-12-12 9 views
0

데이터 프레임에서 db 데이터 프레임에서 scoreAscoreB의 범위에서 2 가지 방법으로 점수를 계산합니다. 코헨의 카파 계수를 얻고 싶습니다.정신을 가진 코헨의 카파 계산시 경고

CRAN에 여러 라이브러리가 있지만 임의로 psych을 선택했습니다.

library(psych) 
cohen.kappa(table(db$scoreA, db$scoreB)) 
Call: cohen.kappa1(x = x, w = w, n.obs = n.obs, alpha = alpha, levels = levels) 

Cohen Kappa and Weighted Kappa correlation coefficients and confidence boundaries 
       lower estimate upper 
unweighted kappa 0.91  0.91 0.91 
weighted kappa 0.97  0.97 0.97 

Number of subjects = 59204 
Warning message: 
In any(abs(bounds)) : coercing argument of type 'double' to logical 

내가 경고에 대한 걱정해야 : 여기

내 코드? 무슨 뜻이에요 ?

편집 : 방금 fmsb으로 시도했으며 가중치가없는 카파 (십진수의 경우에도)와 동일한 값을 얻었습니다. wheeded 카파에 문제가있는 경우 질문은 계속 진행됩니다.

library(fmsb) 
Kappa.test(db$scoreA, db$scoreB) 
$Result 

    Estimate Cohen kappa statistics and test the null hypothesis that the 
    extent of agreement is same as random (kappa=0) 

data: db$scoreA and db$scoreB 
Z = 383.67, p-value < 2.2e-16 
95 percent confidence interval: 
0.9077865 0.9131626 
sample estimates: 
[1] 0.9104745 

$Judgement 
[1] "Almost perfect agreement" 

답변

0

결과에 대해 걱정할 필요가 없습니다. 데이터가 숫자이고 psych::cohen.kappa이 논리를 예상하므로 경고가 발생하므로 원본 데이터 형식에서 필요로하는 형식으로 강제 변환하려고 시도합니다.

다음을 고려하십시오. 우리는 두 개의 스케일에서 시뮬레이션 된 데이터로 데이터 프레임을 생성합니다. 눈금의 가능한 값은 0과 1입니다. 그런 다음 cohen.kappaKappa.test을 실행합니다.

set.seed(1984) 
db <- data.frame(
    scoreA = rbinom(n = 20, size = 1, prob = .75), 
    scoreB = rbinom(n = 20, size = 1, prob = .75) 
) 

# psych 
cohen.kappa(table(db$scoreA, db$scoreB)) 

Call: cohen.kappa1(x = x, w = w, n.obs = n.obs, alpha = alpha, levels = levels) 

Cohen Kappa and Weighted Kappa correlation coefficients and confidence boundaries 
       lower estimate upper 
unweighted kappa -0.37 -0.21 -0.048 
weighted kappa -0.37 -0.21 -0.048 

Number of subjects = 20 
Warning message: 
In any(abs(bounds)) : coercing argument of type 'double' to logical 


# fmsb 
Kappa.test(db$scoreA, db$scoreB) 
$Result 

    Estimate Cohen's kappa statistics and test the null hypothesis that the extent of 
    agreement is same as random (kappa=0) 

data: db$scoreA and db$scoreB 
Z = -0.59134, p-value = 0.7229 
95 percent confidence interval: 
-0.9277148 0.5139217 
sample estimates: 
[1] -0.2068966 


$Judgement 
[1] "No agreement" 

결과는 거의 같습니다. 강요가 성공적 이었기 때문입니다. 그것은이 같은 일이 않았다

# Original  
db$scoreA 
    [1] 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 
# Coerced 
    as.logical(db$scoreA) 
    [1] FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE TRUE TRUE TRUE 
    [16] TRUE FALSE TRUE TRUE TRUE 

경고 그냥 일이하고 당신이 코딩으로 스케일과 일치 무엇을 말하고는, 전혀 문제가있을 수 souldn't.

+0

감사합니다. 귀하의 요점은 매우 분명합니다. 그래서 당신이 말하는 것을 바탕으로, 내 점수가 바이너리가 아니기 때문에 나는 코헨의 카파가 필요하지 않은 것 같습니다. 그럼 너는 무엇을 권 하겠는가? –

+0

몇 가지 연구가 끝나면 [여기] (http://www.cookbook-r.com/Statistical_analysis/Inter-rater_reliability)에서 설명한대로 Cohen 's kappa를 비 이진 점수로 사용할 수 있습니다. 그래서'db $ scoreA = c (059735260,2)'라면 논리적으로는 안됩니다. 그렇지 않습니까? –