ACM et questions à choix multiples (plusieurs modalités dans la même question)

960 views
Skip to first unread message

LPGuillaume

unread,
Apr 17, 2015, 8:25:21 AM4/17/15
to factomin...@googlegroups.com
Bonjour,

Je viens de terminer le MOOC "Analyse des données multidimensionnelles" sur FUN.

Je m'attaque à un questionnaire qui possède une question à choix multiple. Les répondants pouvaient choisir jusqu'à 3 réponses parmi 10.
J'ai codé chaque réponse comme une variable qui peut prendre 2 modalités (la réponse à la question posée ou NA).
Il y a 6 questions "classique" en plus (ancienneté, business, fonction, etc.). 700 personnes ont répondu.

J'ai réalisé l'AMC avec les 6 questions "classique" comme variables principales (1:6) et les 10 réponses à ma questions à choix multiple comme variables supplémentaires (7:16).

Mon problème:
Les NA apparaissent dans la graphe des variables supplémentaires.
C'est "normal" car il y a en effet plein de cases avec NA car les répondants pouvaient choisir jusqu'à 3 modalités parmi 10.

1. La modalité NA n'a pas vraiment d'intérêt. Peut-on s'en débarrasser dans l'affichage?
2. Y a-t-il une autre solution pour analyser ma question à choix multiple?
3. Peut-on utiliser cette question à choix multiple comme variable principale? Comme il y a plein de NA, est ce que missMDA servirait à quelque chose ?

Merci

François Husson

unread,
Apr 22, 2015, 3:48:49 AM4/22/15
to factomin...@googlegroups.com
Bonjour,


Une remarque préalable, vos NA ne sont pas des données manquantes mais une donnée où vous dites que la modalité n'est pâs choisie. A mon avis il est préférable d'éviter de parler de NA.

1. Dans l'analyse que vous faites, il est normal que vos NA apparaissent dans ce graphe. Pour les enlever, il faut un peu ruser et utiliser le selectMod :
selectMod=which(!((1:nrow(res.mca$var$coord))%in%grep("NA",rownames(res.mca$var$coord)))))

Par exemple, sur le jeu de données tea, si on veut enlever les modalités qui contienne "tea", voici les lignes de code :
data(tea)
res.mca <- MCA(tea,quanti.sup=19,quali.sup=20:36,graph=FALSE)
plot(res.mca, invis="ind",selectMod=which(!((1:nrow(res.mca$var$coord))%in%grep("tea",rownames(res.mca$var$coord)))))

2. Vous pouvez la considérer comme active.
3. Vous pouvez tout à fait prendre en actif ces 10 variables. Par contre, ce ne sont pas des données manquantes mais des non-choix, donc missMDA ne servirait pas ici. 

FH

LPGuillaume

unread,
Apr 24, 2015, 5:54:46 PM4/24/15
to factomin...@googlegroups.com
Bonjour,

Merci beaucoup !

J'ai modifié votre code pour qui'il fonctionne avec les variables supplémentaires:
plot(res.mca, invisible=c("ind","var"), autoLab="y", cex=0.7,title="Supplementary variables", selectMod=which(!((1:nrow(res$quali.sup$coord))%in%grep("NA",rownames(res$quali.sup$coord)))))
Le graphique est bien "nettoyé" :-)

Cordialement
LPG

aube...@gmail.com

unread,
Apr 29, 2016, 12:18:53 PM4/29/16
to FactoMineR users
Bonjour, 

Nous souhaitons aussi traiter des questions à choix multiples dans une ACM. Mais nous avons codé nos réponses dans une même cellule en les séparant par des virgules (ex : Compétent, Actif). Lorsque nous effectuons l'ACM avec R, chaque cellule est considérée comme une modalité ( "Compétent,Actif" et non "Compétent"et "Actif").
Comment pouvons-nous résoudre ce souci? 
Si nécessaire, est-il possible de recoder rapidement nos données (car elles sont nombreuses et ce n'est pas possible à la main). 

Merci. 

SLE

unread,
May 2, 2016, 3:31:13 AM5/2/16
to factomin...@googlegroups.com
Bonjour,
pour le traitement des choix multiples, vous devez considérer que chaque modalité va constituer une variable qualitative à deux modalités, compétent (oui, non), actif (oui, non).

Vous pouvez recoder avec des formules dans Excel et en utilisant des conditions logiques. Regardez les fonctions qui permettent de manipuler les chaînes de caractères dans Excel.

Cordialement,
S. Lê


--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "FactoMineR users".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse factominer-use...@googlegroups.com.
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.


_____________________________
Sébastien Lê
Associate Professor
Applied Mathematics Laboratory
Agrocampus Ouest, Rennes, France
Website: http://sebastien.ledien.free.fr




LPGuillaume

unread,
May 2, 2016, 4:19:04 AM5/2/16
to FactoMineR users, sebast...@agrocampus-ouest.fr
Bonjour,

Pour recoder, je vous suggère d'utiliser dans R (ou mieux dans RStudio) le package "tidyr"
Plus d'info sur
* https://rpubs.com/bradleyboehmke/data_wrangling
* https://www.rstudio.com/wp-content/uploads/2015/02/data-wrangling-cheatsheet.pdf

Cordialement,
Louis-Pierre

Victoria Brun

unread,
Aug 30, 2023, 5:03:22 AM8/30/23
to FactoMineR users
Bonjour, je déterre une vieille conversation, mais je me demandais s'il était vraiment équivalent, pour le calcul de la matrice des distances, qu'une question à choix multiples soit traitée comme autant de variables binaires (oui/non) que de modalités ou comme une variable avec plusieurs modalités qualitatives.

J'ai en effet recodé ma question à choix multiples en variables binaires, le problème est que l'ACM qui en ressort est davantage construite sur des oppositions entre "oui" et "non" pour chaque variable que sur des oppositions entre variables. Ça ne me semble pas très cohérent avec ce que je comprends qualitativement du phénomène. D'autant plus que la question à choix multiples concerne des pratiques affichées sur des présentations publiques, et que je préfère ne pas mettre trop l'accent sur les pratiques non affichées : on n'a pas de moyen de savoir qu'elles ne sont pas pratiquées par ailleurs.

J'hésite presque, à vrai dire, à créer une seule variable avec des modalités récurrentes (mais mon effectif est trop faible, et il risque d'y avoir des hapax qui polariseront l'espace).

Je vous remercie pour le package qui, en tout cas, est extrêmement utile et la documentation toujours pédagogique.
Bien cordialement,
Victoria Brun
Reply all
Reply to author
Forward
0 new messages