Bonjour.
Merci beaucoup pour votre fonction. En revanche, l'indexation qu'elle propose des modalités ne correspond pas à celle produite par, par ex., "resultats$var$contrib", en particulier pour les codes manquants que j'ai préalablement défini comme des codes "valides" avec la fonction addNA. Par ex., pour ma première variable (3 modalités avec un code manquant), votre fonction place la catégorie xxx.NA en 4e position, alors que "resultats$var$contrib" la place en première position. Ainsi, si je m'appuie sur votre fonction et ajoute "excl=c(4)", c'est une autre modalité que la modalité xxx.NA qui est placée en élément supplémentaire.
Pour information, je vous décris rapidement ma manière de faire pour mettre des catégories en éléments supplémentaires: je lance une ACM en définissant les variables supplémentaires (variables 5 à 12 de mon fichier de données) de la manière suivante:
resultats <- MCA(data, ncp=4, quali.sup=c(5:12),graph=FALSE)
J'utilise ensuite la commande "print(resultats$var$contrib)" qui affiche les contributions pour toutes les modalités actives. Sur ce résultat,pour utiliser la fonction "excl", je note le positionnement des modalités que je veux mettre en élément supplémentaire. La première modalité (1ere ligne) est 1, la seconde modalité (2e ligne) est 2, etc. Si je veux par ex. exclure uniquement la première et la cinquième modalités qui apparaissent dans l'output produit par "print(resultats$var$contrib)", je relance l'analyse en spécifiant les "excl" de la manière suivante:
resultats <- MCA(data, ncp=4, quali.sup=c(5:12), excl=c(1,5),graph=FALSE)
En relançant "print(resultats$var$contrib)", je peux m'assurer que la définition des modalités supplémentaires est correcte.
La procédure est manuelle est se fait donc en 2 étapes.
Quelqu'un aurait-il une façon de faire en une seule étape? Est-il possible de définir préalablement une liste des modalités que l'on veut mettre en élément supplémentaire et de mettre cette liste dans la fonction "excl" ?
Merci d'avance pour vos réponses
A. Tawfik
Le mardi 30 août 2016 11:11:51 UTC+2, A. Tawfik a écrit :