R 混淆矩阵输出错误

R 混淆矩阵输出错误,r,R,我试图通过以下代码在R中使用决策树构建预测模型: library(rpart) library(caret) DataYesNo<-read.csv('DataYesNo.csv',header=T) worktrain<- sample(1:50,40) worktest <- setdiff(1:50,worktrain) M <- ncol(DataYesNo) input <- names(DataYesNo)[1:(M-1)]

我试图通过以下代码在R中使用决策树构建预测模型:

library(rpart)
library(caret)

DataYesNo<-read.csv('DataYesNo.csv',header=T)

worktrain<- sample(1:50,40)
worktest <- setdiff(1:50,worktrain)

M <- ncol(DataYesNo)
input  <- names(DataYesNo)[1:(M-1)]                                   
target <- "ICUtransfer"                         

tree<- rpart(ICUtransfer~Temperature+RespiratoryRate+HeartRate+SystolicBP+OxygenSaturations,
                data=DataYesNo[worktrain, c(input,target)],
                method="class",
                parms=list(split="information"),
                control=rpart.control(usesurrogate=0, maxsurrogate=0))

fitted <- predict(tree, DataYesNo[worktest, c(input,target)])

cmatrix <- confusionMatrix(fitted, worktest$ICUtransfer)
print(cmatrix)

tree                
plot(tree)
text(tree)
我试过这句话:

cmatrix <- confusionMatrix(fitted, DataYesNo[worktest,]$ICUtransfer)

cmatrix您得到该错误是因为
worktest
没有任何称为
ICUtransfer
的因子
worktest
只是索引的数字向量,因此没有因子。您需要与
worktest
索引对应的数据子集

不可能知道到底需要做什么,因为我看不到您使用的数据结构


不要使用
worktest$ICUtransfer
尝试使用
DataYesNo[worktest,c(输入,目标)]
请发布完整的错误日志/stacktrace。我厌倦了你的帖子,然后我得到了这个错误:sort中的错误。list(y):“x”必须是“sort.list”的原子。你在列表中调用过“sort”吗?好吧,因为我对你的问题域不太了解,我不能给你更多的具体信息。尝试
DataYesNo[worktest]
。DataYesNo看起来像什么?我再次尝试:cmatrix:confusionMatrix中的错误。默认值(fitted,DataYesNo[worktest,]$ICUtransfer):数据和参考因子必须具有相同的levelsOk数,现在您已经正确地将其索引到矩阵中,但还有一些问题。请编辑您的问题,并将参数值添加到confusionMartix。
cmatrix <- confusionMatrix(fitted, DataYesNo[worktest,]$ICUtransfer)