使用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
答案 0 :(得分:0)
这是我从一位作者(Luca Scrucca教授)那里获得的“ mclust”库解决方案:
”由于提供了hcPairs时使用了自动子集而导致冲突,因此存在一个错误。我已在mclust的当前开发版本中对其进行了修复。 由于不会很快提交给CRAN,因此您可以使用以下代码来避免当前版本的mclust出现错误:
rBIC <- mclustBIC(df1, verbose = T,
initialization = list(hcPairs = randomPairs(df1),
subset = 1:NROW(df1)))
当该错误修复程序将发布时,由于有多余的含义,可以忽略subset参数。”
现在,代码可以正常工作了。