单变量拟合时在mclust-package中出错

时间:2019-01-30 16:25:57

标签: r mclust

使用Mclust进行单变量拟合时,出现以下错误:

Error in mstepE(data = as.matrix(data)[initialization$subset, ], z = z,  : 
  row dimension of z should equal data length

我正在使用以下代码:  https://cran.r-project.org/web/packages/mclust/vignettes/mclust.html#initialisation

这是我遇到错误的代码部分:

df1 <- dataSample
BIC <- NULL
for(j in 1:20){
  rBIC <- mclustBIC(df1, verbose = T,
                    initialization = list(hcPairs = randomPairs(df1)))
  BIC <- mclustBICupdate(BIC, rBIC)
}
summary(BIC)

下面的链接包含要传递给变量'df1'的数据(文件名:dataSample.csv) https://drive.google.com/open?id=0Bzau9RsRnQreYk9XOWVBSm91b2o4NTQ4RlA2UFdWbDBVOVpR

1 个答案:

答案 0 :(得分:0)

这是我从一位作者(Luca Scrucca教授)那里获得的“ mclust”库解决方案:

”由于提供了hcPairs时使用了自动子集而导致冲突,因此存在一个错误。我已在mclust的当前开发版本中对其进行了修复。 由于不会很快提交给CRAN,因此您可以使用以下代码来避免当前版本的mclust出现错误:

rBIC <- mclustBIC(df1, verbose = T,
                  initialization = list(hcPairs = randomPairs(df1),
                                        subset = 1:NROW(df1)))

当该错误修复程序将发布时,由于有多余的含义,可以忽略subset参数。”

现在,代码可以正常工作了。