【发布时间】:2016-04-22 22:07:57
【问题描述】:
我有以下代码导致类似表格的输出
lvs <- c("normal", "abnormal")
truth <- factor(rep(lvs, times = c(86, 258)),
levels = rev(lvs))
pred <- factor(
c(
rep(lvs, times = c(54, 32)),
rep(lvs, times = c(27, 231))),
levels = rev(lvs))
xtab <- table(pred, truth)
library(caret)
confusionMatrix(xtab)
confusionMatrix(pred, truth)
confusionMatrix(xtab, prevalence = 0.25)
我想将输出的以下部分导出为.csv 表
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
尝试将其写入.csv 表会导致错误消息:
write.csv(confusionMatrix(xtab),file="file.csv")
Error in as.data.frame.default(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors) :
cannot coerce class ""confusionMatrix"" to a data.frame
出于显而易见的原因,手动完成整个工作是不切实际的,而且容易出现人为错误。
关于如何将其导出为.csv 的任何建议?
【问题讨论】:
-
你想写成“key:value”形式的东西吗?
write.csv根据错误期待一个 data.frame,所以你必须将你的结果按摩成它可以接受的东西。 -
澄清一下,您必须获取
confusionMatrix的结果并将您需要的数据放入data.frame。 -
@steveb 是的,我现在明白了。 mroto 在下面的回复中非常清楚地概述了它。
标签: r csv export-to-csv confusion-matrix