2017-04-24 3 views
0

J'ai deux dataframes avec plusieurs variables. Chaque dataframe appartient à un évaluateur. Je voudrais calculer la fiabilité de l'interrater (Kappa de Cohen) entre les deux dataframes.Kappa de Cohen de deux dataframes

Par exemple:

Rater1 <- matrix(c(1,0,0,1,0,0,0,0,1),ncol=3,byrow=TRUE) 
colnames(Rater1)<-c("V1","V2","V3") 
Rater2 <- matrix(c(0,1,0,1,0,1,0,0,1),ncol=3,byrow=TRUE) 
colnames(Rater2)<-c("V1","V2","V3") 

Il doit avoir quelque chose à voir avec le paquet « TRI », mais je ne peux vraiment pas comprendre comment. Toute aide dans la bonne direction est très appréciée.

+0

Dans chaque trame de données, vous avez 3 lignes et 3 colonnes. Est-ce que les lignes ou les colonnes sont les choses évaluées? Si oui, quelle est l'autre dimension? – Gladwell

Répondre

1

En utilisant les données que vous avez fournies, vous pouvez calculer la kappa pour chaque variable avec le code suivant:

for (dimension in 1:3) { 
    v = paste0("V", dimension) 
    print(irr::kappa2(cbind(Rater1[, v], Rater2[, v]))) 
} 

Vous avez dit que vous vouliez kappa entre les deux trames de données cependant, ce qui signifie que nous devons effondrer en quelque sorte les trames de données en deux vecteurs. Tout ce que vous devez faire est de modifier votre définition de sujets pour être une variable pour tout ce qui est évalué. Vous pouvez essentiellement ignorer le fait que les sujets proviennent de la même source parce que vous êtes intéressé par l'accord entre les évaluateurs (qui sont indépendants) et non dans les caractéristiques des choses évaluées (qui ne sont pas indépendantes).

irr::kappa2(cbind(matrix(Rater1), matrix(Rater2))) 
+0

La première option fonctionne comme un charme, merci beaucoup Gladwell! La deuxième solution ne semble pas fonctionner (Erreur dans kappa2 (cbind (as.vector (D), as.vector (M))): Le nombre d'évaluateurs dépasse 2. Essayez kappam.fleiss ou kappam.light.), Mais la première solution est suffisante pour mes fins. Merci encore. –

+0

J'ai fait voter et sélectionné votre réponse Gladwell, mais apparemment, il n'est pas accessible au public puisque j'ai moins de 15 points. –

+0

@DavidMaij essayer la version éditée ci-dessus. Il est peut-être utile d'avoir un nombre représentant le degré d'accord au lieu d'un nombre par variable. – Gladwell