0

在我的测试数据集上运行 mclust 时,我收到以下错误:

cdensEEV 中的错误(数据 = 数据,对数 = TRUE,参数 = 参数,:外部函数调用中的 NA/NaN/Inf(参数 1)另外:警告消息:在 cdensEEV(数据 = 数据,对数 = TRUE,参数 = 参数, : 强制引入的 NA

我的代码如下:

library(ISLR)
attach(Auto)
library(mclust)
library(MASS)
library(class)
attach(Weekly)
Auto$mpg01 <- ifelse(Auto$mpg > median(Auto$mpg),1,0) 
odd <- seq(from = 1, to = nrow(Auto), by = 2)
even <- seq(from = 2, to = nrow(Auto), by = 2) 
X.train <- Auto[odd, -10] 
Class.train <- Auto[odd, 10] 
X.test <- Auto[even, -10] 
Class.test <- Auto[even, 10] 
AutoMclustDA <- MclustDA(X.train, Class.train) 
summary(AutoMclustDA, parameters = TRUE)
summary(AutoMclustDA, newdata = X.test, newclass = Class.test)

运行初始摘要时,一切正常,但是当我运行第二个摘要,特别是 newclass = Class.test 部分时,我得到了那个错误。我在数据集中没有任何 NA 值,当我之前为 Weekly 数据集执行此操作时,我没有任何问题。

任何人都可以帮忙吗?先感谢您。

亚当

4

1 回答 1

0

因此,与其说是解决方法,不如说是答案。数据集中的变量之一是车辆的名称,所以当我删除该变量时,它实际上与分析无关,并相应地调整了火车和测试符号(例如 X.train <- Auto[,- 9]),总结工作,无论是在上面的代码中的 MclustDA 还是当你添加 modelType = "EDDA" 时。

于 2019-02-19T14:31:08.007 回答