<p>我已经给该软件包的作者发了电子邮件,他说他将在下一次更新中修复该漏洞</p>
<p>详情如下:</p>
<blockquote>
<p>Actually, I am aware of this awkward behavior of the kappa2-function.
This is due to the conversion and reordering of factor levels. These
are actually not two bugs but only one that results in an incorrect
generation of the confusion matrix (which you already found out). You
can easily fix it by deleting the first row in the kappa2-function
("ratings <- as.matrix(na.omit(ratings))"). This conversion to
numerical value as part of the removal of NA ratings is responsible
for the error.</p>
<p>In general, my function needs to know the factor levels in order to
correctly compute kappa. Thus, for your data, you would need to store
the values as factors with the appropriate possible factor levels.
E.g.</p>
<p>label <- c(0, 1, 1, 1, 0, 14, 53, 3) label <- factor(label,
levels=0:100) pred <- c(0, 1, 1, 0, 3, 4, 54, 6) pred <- factor(pred,
levels=0:100)</p>
<p>ratings <- data.frame(label,pred)</p>
<p>When you now run the modified kappa2-function (i.e. without the first
line), the results should be correct.</p>
<p>kappa2(ratings) # unweighted kappa2(ratings, "equal") # weighted kappa
with equal weights</p>
<p>For the next update of my package, I will take this into account.</p>
</blockquote>