我想打印2 * 2混淆矩阵并贴上标签。我在r中使用table()
。
我想添加预测和现实标签。有人可以建议我,我该怎么办?
最佳答案
这与this question中的问题类似。您可以采用这种方法,
但仅使用矩阵来保存值就可以简化一点,并且
只需将其尺寸名称设置为"predicted"
和"observed"
:
# create some fake data (2x2, since we're building a confusion matrix)
dat <- matrix(data=runif(n=4, min=0, max=1), nrow=2, ncol=2,
dimnames=list(c("pos", "neg"), c("pos", "neg")))
# now set the names *of the dimensions* (not the row/colnames)
names(dimnames(dat)) <- c("predicted", "observed")
# and we get what we wanted
dat
# output:
# observed
# predicted pos neg
# pos 0.8736425 0.7987779
# neg 0.2402080 0.6388741
更新:@thelatemail在注释中很好地说明了您可以在创建表时指定维名称的问题。矩阵也是如此,只是在调用
dimnames
时将它们作为matrix()
列表元素的名称提供。因此,这是一种更为紧凑的方法:matrix(data=runif(n=4, min=0, max=1), nrow=2, ncol=2,
dimnames=list(predicted=c("pos", "neg"), observed=c("pos", "neg")))