在多对列上应用confusionMatrix R函数,将输出保存在列表或整洁的df中

时间:2018-09-25 15:10:25

标签: r apply purrr confusion-matrix

我想在多个列中应用插入符号的confusionMatrix函数,将结果保存在数据框中。

我有两个格式相同的数据框-“实际”和“预测”。他们看起来像这样:

x1   x2   x3   x4
 N    N    S    E
 E    W    E    E
 N    W    E    E

等...用于多行,每列有4级,并且有很多列

我想使用confusionMatrix比较两个数据帧的相应列。我可以逐列进行此操作,例如从第1列开始:

confusionMatrix(predictions[,1], actuals[,1])

但我不想将每一列都一一遍,而是将confusionMatrix应用于两个数据帧中的所有对应列。

理想情况下,我希望将输出保存在某种列表或数据框中,以便我可以轻松地从confusionMatrix中提取特定输出(例如kappa或灵敏度)以进行所有比较。我已经使用purrr和broom与线性模型的输出进行了类似的操作,但是这里的输入有很大的不同,而且我还找不到能够使它工作的方法。

非常感谢

1 个答案:

答案 0 :(得分:1)

a <- list()

for (i in 1:ncol(predictions))
    {
      a[[i]] <- confusionMatrix(predictions[,i], actuals[,i])
    }

print(a)