如何用stargazer和caret创建混淆矩阵

时间:2017-06-08 21:49:43

标签: r

我正在尝试在sweave r中创建一个表,但它并不是我想要的。这是我的代码。

/application/info

2 个答案:

答案 0 :(得分:1)

带有confusionMatrix()函数的R输出如下

> confusionMatrix(xtab)
Confusion Matrix and Statistics

          truth
pred       abnormal normal
  abnormal      231     32
  normal         27     54

               Accuracy : 0.8285          
                 95% CI : (0.7844, 0.8668)
    No Information Rate : 0.75            
    P-Value [Acc > NIR] : 0.0003097       

                  Kappa : 0.5336          
 Mcnemar's Test P-Value : 0.6025370       

            Sensitivity : 0.8953          
            Specificity : 0.6279          
         Pos Pred Value : 0.8783          
         Neg Pred Value : 0.6667          
             Prevalence : 0.7500          
         Detection Rate : 0.6715          
   Detection Prevalence : 0.7645          
      Balanced Accuracy : 0.7616          

       'Positive' Class : abnormal

使用观星者时 enter image description here

答案 1 :(得分:1)

我遇到了同样的问题,发现以下解决方法:

1)首先,您必须使用as.data.frame.matrix()将混淆矩阵从类表转换为数据框。

ConfMat <- as.data.frame.matrix(Con.Mat$table)

2)然后,您可以强制Stargazer使用summary = FALSE参数将输出作为数据帧生成。

stargazer(ConfMat, head = FALSE, title = "Table", summary = FALSE)

稍后,您可以通过在数据框中创建列或行来总计它们。此外,在中间的行中添加百分比。

希望有帮助!