繁体   English   中英

R 预测 function 返回 NULL 值

[英]R predict function returning NULL value

因此,我尝试使用线性判别分析来获得混淆矩阵,但我的预测 function 在环境中一直具有值“NULL”。

我的代码是

library(ISLR)
library(MASS)
data(Default)

set.seed(42); TrData = sample(nrow(Default), nrow(Default)*0.5)
TrSet = Default[TrData,]
fit= lda(default ~ income+balance, data=TrSet)

fit.p = predict(fit,newdata=TrSet[,-c(1)])$default

fit.p 的值为 NULL 所以我无法获得混淆矩阵 我哪里出错了?

编辑:更新后,您将$Class更改为$default 你仍然应该使用$class

所以你子集$Class而不是$class ,因为来自列表或环境的不存在的文件给你 NULL。

ee <- new.env()
ll <- list()
ee[["WRONG"]]
# NULL
ll[["WRONG"]]
# NULL

来自MASS::lda示例,最后一行是$class NOT $Class

library(ISLR)
library(MASS)
data(Default)
set.seed(42)
TrData = sample(nrow(Default), nrow(Default) * 0.5)
TrSet = Default[TrData, ]
fit= lda(default ~ income + balance, data = TrSet)

fit.p = predict(fit,newdata = TrSet)$class

在您的示例中,请将最后一行更新为fit.p = predict(...)$class

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM