2017-08-22 1 views
1

Lors de l'exécution mclustICL (R package mclust 5.3) sur les données d'une erreur se produit:R: erreur de fonction MclustICL lorsque l'arrondi

data <- c(-0.485152666666667, -0.457841666666667, -0.457841666666667, 
-0.457841666666667, -0.457841666666667, -0.457841666666667, -0.457841666666667, 
-0.457841666666667) 
> mclustICL(data, modelNames = "V") 
fitting ... 
    |=======================================================================================================| 100% 
Error in if (sum((out$parameters$pro - colMeans(out$z))^2) > sqrt(.Machine$double.eps)) { : 
    missing value where TRUE/FALSE needed 

Arrondi résout:

> mclustICL(round(data,5), modelNames = "V") # no error 

Mais je dois utiliser la fonction mclustICL sur d'autres exemples de données, puis arrondi non seulement n'aide pas, mais la fonction ne fonctionne que lorsque je n'utilise pas rond et renvoie la même erreur quand je fais:

data <- c(-0.241992333333333, -0.287035333333333, -0.33378, -0.272269333333333, 
-0.241992333333333, -0.287035333333333, -0.241992333333333, -0.241992333333333, 
-0.241992333333333, -0.287311, -0.287311, -0.287035333333333) 

> mclustICL(data, modelNames = "V")# no error 

> mclustICL(round(data,5), modelNames = "V")fitting ... 
    |=======================================================================================================| 100% 
Error in if (sum((out$parameters$pro - colMeans(out$z))^2) > sqrt(.Machine$double.eps)) { : 
    missing value where TRUE/FALSE needed 

Que dois-je faire pour utiliser la fonction sur les deux données et pourquoi ce comportement se produit? Merci d'avance!

+0

améliorer la sortie du code –

Répondre

0

La mise à niveau vers R 3.4.1. a résolu le problème. Merci beaucoup à Luca Scrucca!

0

Je n'ai pas vos problèmes, comme vous pouvez le voir dans le code ci-dessous.
Avez-vous la dernière version du paquet?
Avez-vous regardé vos données?
Pouvez-vous deviner pourquoi seul le composant à un seul mélange peut être installé?

> library(mclust) 
    __ ___________ __ _____________ 
/|//____////// ___/_ __/ 
//|_/// // ////\__ \// 
//// /___/ /___/ /_/ /___/ /// 
/_/ /_/\____/_____/\____//____//_/ version 5.3 
Type 'citation("mclust")' for citing this R package in publications. 

> data <- c(-0.485152666666667, -0.457841666666667, -0.457841666666667, 
+ -0.457841666666667, -0.457841666666667, -0.457841666666667, -0.457841666666667, 
+ -0.457841666666667) 
> summary(data) 
    Min. 1st Qu. Median Mean 3rd Qu. Max. 
-0.4852 -0.4578 -0.4578 -0.4613 -0.4578 -0.4578 
> dotchart(data) 

> mclustBIC(data, modelNames = "V") 

Bayesian Information Criterion (BIC): 
     V 
1 48.44934 
2  NA 
3  NA 
4  NA 
5  NA 
6  NA 
7  NA 
8  NA 

Top 3 models based on the BIC criterion: 
    V,1     
48.44934  NA  NA 

> mclustICL(data, modelNames = "V") 

Integrated Complete-data Likelihood (ICL) criterion: 
     V 
1 48.44934 
2  NA 
3  NA 
4  NA 
5  NA 
6  NA 
7  NA 
8  NA 

Top 3 models based on the ICL criterion: 
    V,1     
48.44934  NA  NA 

> data <- c(-0.241992333333333, -0.287035333333333, -0.33378, -0.272269333333333, 
+ -0.241992333333333, -0.287035333333333, -0.241992333333333, -0.241992333333333, 
+ -0.241992333333333, -0.287311, -0.287311, -0.287035333333333) 
> summary(data) 
    Min. 1st Qu. Median Mean 3rd Qu. Max. 
-0.3338 -0.2871 -0.2797 -0.2710 -0.2420 -0.2420 
> dotchart(data) 

> mclustBIC(data, modelNames = "V") 

Bayesian Information Criterion (BIC): 
     V 
1 46.73079 
2  NA 
3  NA 
4  NA 
5  NA 
6  NA 
7  NA 
8  NA 
9  NA 

Top 3 models based on the BIC criterion: 
    V,1     
46.73079  NA  NA 

> mclustICL(data, modelNames = "V") 

Integrated Complete-data Likelihood (ICL) criterion: 
     V 
1 46.73079 
2  NA 
3  NA 
4  NA 
5  NA 
6  NA 
7  NA 
8  NA 
9  NA 

Top 3 models based on the ICL criterion: 
    V,1     
46.73079  NA  NA 

> mclustICL(round(data,5), modelNames = "V") 
Integrated Complete-data Likelihood (ICL) criterion: 
     V 
1 46.72944 
2  NA 
3  NA 
4  NA 
5  NA 
6  NA 
7  NA 
8  NA 
9  NA 

Top 3 models based on the ICL criterion: 
    V,1     
46.72944  NA  NA 
+0

Je viens de l'essayer sur Windows et votre sortie a été reproduite (sans erreurs). Mais je suis Ubuntu 14.04 et il y a toujours les mêmes erreurs. La version de mclust est 5.3. Désolé, qu'avez-vous voulu dire par la dernière question concernant un seul composant? – Marie

+0

Désolé mais votre installation de mclust semble avoir des problèmes. Peut-être que le compilateur est vieux, ou que votre machine Linux est ancienne (plus de 3 ans). Vérifiez également la version R. Question sur le composant unique: si vous regardez attentivement, vous verrez que seul le modèle avec un seul composant gaussien peut être installé. Et cela dépend de vos données. Avez-vous regardé le graphique? –