如何为数据帧构建混淆矩阵

时间:2017-11-05 13:19:04

标签: r confusion-matrix

我有以下数据框:

v1  v2  v3  v4  v5
0   t   1   12  N/A
1   t   0   34  N/A
2   t   1   45  N/A
5   f   0   76  N/A
12  f   0   98  N/A
45  t   1   45  M

我希望能够在两列v2和v3上构建以下混淆矩阵:

    t  |  f
 0  1     2
 1  3     0

在R

中执行此操作的最佳方法是什么

2 个答案:

答案 0 :(得分:4)

使用table ...

可轻松完成此操作
table(df$v3,df$v2)

    f t
  0 2 1
  1 0 3

答案 1 :(得分:2)

使用xtabs。例如,见这个例子

> set.seed(100)
> n <- 20
> x1 <- runif(n) > .5
> x2 <- ifelse(runif(n) > .75, x1, runif(n) > .5) 
> dat <- data.frame(x1, x2)
> head(dat)
     x1    x2
1 FALSE FALSE
2 FALSE  TRUE
3  TRUE  TRUE
4 FALSE  TRUE
5 FALSE  TRUE
6 FALSE FALSE
> xtabs(~ x1 + x2, dat)
       x2
x1      FALSE TRUE
  FALSE     9    3
  TRUE      3    5