Bonjour,
Je travaille actuellement sur un jeu de données acquis sur des patients et des sujets sains, contenant 4 variables qualitatives (Group, Sex, Etiology et Clinical state) et 6 variables quantitatives (Age, CRS score, Visual score, Objects, Physician et Mirror). Mon but est d’utiliser l’analyse factorielle de données mixtes (que je ne maîtrise absolument pas) afin de voir quelles sont les variables ayant le plus d’effets, pour ensuite restreindre les analyses complémentaires à ces seules variables ayant le plus d’effets.
J’ai donc utiliser la commande res <- FAMD(duree) du package FactoMineR (duree étant le nom du jeu de données). Malheureusement, je me retrouve immédiatement avec l’erreur suivante :
Error in eigen(crossprod(X, X), symmetric = TRUE) :
valeurs infinies ou manquantes dans 'x'
In addition: Warning message:
In PCA(X, graph = FALSE, ind.sup = ind.sup, quanti.sup = tabNumIllu, :
Missing values are imputed by the mean of the variable: you should use the imputePCA function of the missMDA package
Le terme « missing values » semble indiquer que des valeurs manquantes se trouve dans mon jeu de données, et effectivement, 3 patients n’ont aucune données (NA) pour la variable « Physician » (mais ont des données, soit de 0, soit un autre nombre pour les variables « Objects » et « Mirror »). En cherchant un peu, j’ai trouvé qu’il faut en fait utiliser la fonction imputeFAMD quand il y a justement des valeurs manquantes. Ce que j’ai fait (res <- imputeFAMD(duree)). Sauf que désormais, je me retrouve avec l’erreur suivante :
Error in apply(tabdisj[, (vec[i] + 1):vec[i + 1]], 1, which.max) :
dim(X) doit avoir un longueur positive
Et là, je suis complètement perdu car je ne comprends ce que cette erreur veut dire.
Je vous partage mon problème et ma feuille de données dans l’espoir que l’un ou l’une d’entre vous puisse m’aider.
Peut-être que mes données sont mal organisées ? Ou que j’ai oublié certains paramètres à spécifier dans les commandes ?
Également, les 3 variables « Objects », « Physician » et « Mirror » (qui représentent le temps passé à regarder la variable en %) seront plus tard assemblées sous une seule variable appelée « Stimulus » car mon but final est de voir quels sont les facteurs qui influencent le temps passé à regarder ces différents stimuli. Peut-être que le souci vient directement de là, et qu’il faut d’abord que je les rassemble sous la variable « Stimulus » avant de faire imputeFAMD() ?
Merci beaucoup pour votre aide.