IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

R Discussion :

'objet res' introuvable dans une AFM avec FactominR


Sujet :

R

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Doctorat in process
    Inscrit en
    Août 2018
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Doctorat in process
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2018
    Messages : 43
    Points : 26
    Points
    26
    Par défaut 'objet res' introuvable dans une AFM avec FactominR
    bonjour,
    je lance une AFM avec FactominR mais j'obtiens un message d'erreur "objet res introuvable", et je n'ai aucune sortie.
    Ces mêmes données m'avaient pourtant permis de réaliser une ACM sans problème.
    L'AFM que je cherche à réaliser est constituée d'un groupe de 8 variables actives (à 3 modalités chacune) et d'un groupe de 5 variables explicatives (2 modalités chacune) + 1 variable explicative (3 modalités)

    J'ai essayé de refaire l'analyse en supprimant le groupe de variables explicatives pour lesquelles il y a qques NA mais ça ne fonctionne pas pour autant.
    Je n'ai aucune idée de quoi l'erreur peut provenir
    Merci d'avance si vous pouvez m'aider à identifier le problème.

  2. #2
    Membre actif
    Profil pro
    Loisir
    Inscrit en
    Novembre 2011
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Loisir

    Informations forums :
    Inscription : Novembre 2011
    Messages : 159
    Points : 284
    Points
    284
    Par défaut
    Je n'ai aucune idée de quoi l'erreur peut provenir
    Moi non plus.


    Bonjour, ma voiture a un problème, je n'arrive pas à la faire avancer.

    C'est en substance ce que vous nous donner comme information. Pour vous aider il nous faut plus comme, par exemple votre code, des données pour reproduire l'erreur si le code n'est pas suffisant, ...

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Doctorat in process
    Inscrit en
    Août 2018
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Doctorat in process
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2018
    Messages : 43
    Points : 26
    Points
    26
    Par défaut
    c'est tout simplement que lorsqu'on n'y connait rien, on n'a aucune mesure de l'ampleur du questionnement....
    Je ne pouvais ainsi pas savoir si c'était une erreur banale et courante liée à un petit qqchose de connu ou si cela pouvait provenir de multiples raisons.

    Voici le code lancé par FActominR (j'avais demandé une classification derrière l'AFM)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    rokval.MFA<-rokval[, c("d_tsol", "d_delai", "d_desh", "d_rdtbas", "d_rdtirg", "d_recolt", "d_smce", "d_info", "d_hum", "Sw_secucat", "Sw_reucat", 
      "Sw_uvNacat", "Sw_Bvcat", "Sw_autocat", "syst_expl")]
    res<-MFA(rokval.MFA, group=c(9, 5, 1), type=c("n", "n", "n"), ncp=5, name.group=c("diff", "val", "syst"), num.group.sup=c(2, 3), graph=FALSE)
    res.hcpc<-HCPC(res ,nb.clust=-1,consol=TRUE,min=3,max=10,graph=TRUE)
    res.hcpc$data.clust[,ncol(res.hcpc$data.clust),drop=F]
    res.hcpc$desc.var
    res.hcpc$desc.axes
    res.hcpc$desc.ind
    summary(res, nb.dec = 3, nbelements=10, nbind = 10, ncp = 3, file="")
     
    remove(rokval.MFA)
    j'ai supprimé ici les lignes de codes liées à la demande d'écriture des différents résultats dans un fichier csv pour alléger.
    Merci de votre aide

  4. #4
    Membre habitué
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Décembre 2015
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2015
    Messages : 72
    Points : 180
    Points
    180
    Par défaut
    Bonjour,

    Si votre message d'erreur est que l'objet res est introuvable, c'est qu'il n'a pas été créé, et donc que l'AFM ne fonctionne pas.

    L'idéal serait d'avoir le message d'erreur après avoir exécuté la commande pour réaliser l'AFM. Au vu de ce qui est écrit, je pencherai pour le fait qu'il n'y a qu'un tableau actif pour l'AFM, or elle en nécessite au moins deux pour moi. Sinon, il faut réaliser une ACP qui est plus spécifique de l’analyse à un tableau, et préciser les données supplémentaires qualitatives et quantitatives colonne par colonne.

    Cordialement

    VV

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Doctorat in process
    Inscrit en
    Août 2018
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Doctorat in process
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2018
    Messages : 43
    Points : 26
    Points
    26
    Par défaut
    j'ai toutes mes données dans un seul tableau.
    En fait je pensais que l'AFM pouvait m'apporter un plus par rapport à l'ACM que j'avais réalisée précédemment car elle avait le mérite de pouvoir représenter mes variables par groupe, ce qui correspond à mon cas de figure : j'ai un groupe de variables actives qui correspond à 6 variables "difficultés rencontrées" et un groupe qui comprend 5 variables explicatives "motivations".
    Mais tout est stocké dans un même data qui comprends la totalité de ma centaine de variables . Il faudrait que je les sépare physiquement dans deux tableaux ?

    En remontant dans les messages d'erreur je note qu'il y a une erreur supplémentaire (mes excuses je ne l'avais pas vue car elle était toute seule au milieu de multiples lignes 'res introuvable')
    [45] ERREUR:
    dim(X) doit avoir un longueur positive
    [46] ERREUR:
    objet 'res' introuvable

  6. #6
    Membre habitué
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Décembre 2015
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2015
    Messages : 72
    Points : 180
    Points
    180
    Par défaut
    Le principe de l'AFM est qu'elle permet de séparer un tableau en plusieurs sous-tableaux qui sont analysés chacun de leur côté dans un premier temps, puis analysés globalement en équilibrant leur apport d'information (Pour faire simple).

    Pour cela, il faut au moins deux sous-tableaux actifs, ce qui n'est pas ce cas ici. Or une AFM à un sous-tableau actif (plus d'éventuels tableaux supplémentaires) revient à faire une ACP (en grossissant le principe de généralisation de l'ACP en AFM). Vu qu'il n'y a donc ici qu'un sous-tableau actif (car 2 sont indiqués en supplémentaires, num.group.sup=c(2, 3)), il revient donc de faire une ACP directement (et d'indiquer dans ce cas les variables supplémentaires).

    L'erreur dim(X) doit avoir un longueur positive vient du fait qu'il n'y a qu'un seul tableau avec des variables actives dans l'AFM ici. Les autres sont toutes supplémentaires et ne participent donc pas à la construction des axes factoriels. L'AFM ne peut donc pas converger (car problème avec les données d'entrées).

    Je conseille de faire une ACP et de juste renseigner les variables supplémentaires.

    J'espère que c'est assez clair, j'ai essayé de ne pas trop rentrer dans le détail, mais j'étais un peu obligé pour expliquer l'erreur.

  7. #7
    Nouveau membre du Club
    Femme Profil pro
    Doctorat in process
    Inscrit en
    Août 2018
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Doctorat in process
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2018
    Messages : 43
    Points : 26
    Points
    26
    Par défaut
    Merci beaucoup de votre réponse. J'avais en définitive mal compris les principes de l'AFM. Dans mon cas il faut je suppose une ACM plutôt qu'une ACP car je n'ai que des variables qualitatives.
    Je me permets de poser une question complémentaire liée au code que j'ai déjà présenté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    rokval.MFA<-rokval[, c("d_tsol", "d_delai", "d_desh", "d_rdtbas", "d_rdtirg", "d_recolt", "d_smce", "d_info", "d_hum", "Sw_secucat", "Sw_reucat", 
      "Sw_uvNacat", "Sw_Bvcat", "Sw_autocat", "syst_expl")]
    res<-MFA(rokval.MFA, group=c(9, 5, 1), type=c("n", "n", "n"), ncp=5, name.group=c("diff", "val", "syst"), num.group.sup=c(2, 3), graph=FALSE)
    res.hcpc<-HCPC(res ,nb.clust=-1,consol=TRUE,min=3,max=10,graph=TRUE)
    res.hcpc$data.clust[,ncol(res.hcpc$data.clust),drop=F]
    res.hcpc$desc.var
    res.hcpc$desc.axes
    res.hcpc$desc.ind
    summary(res, nb.dec = 3, nbelements=10, nbind = 10, ncp = 3, file="")
     
    remove(rokval.MFA)
    Jj'ai essayé différentes méthodes maie n'arrive pas à obtenir les données de res.hcpc dans un csv : y'a t'il moyen de les exporter ?
    Encore merci

  8. #8
    Membre habitué
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Décembre 2015
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2015
    Messages : 72
    Points : 180
    Points
    180
    Par défaut
    Effectivement les résultats de HCPC ne sont pas prévus pour être sauvegardés directement dans un .csv

    Il y a deux possibilités, soit aller chercher les éléments un par un qui sont dans des formats classiques (comme la sortie data.clust) et les enregistrer dans des fichiers séparés. C'est long et fastidieux mais ca donne des fichiers propres.


    Autre méthode plus barbare : utiliser la fonction sink(). Elle sauvegarde les éléments affichées dans la console dans un fichier voulu. Le résultat est moins propre mais beaucoup plus rapide :

    Code R : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    sink("Sauvegarde_HCPC.csv")
    for(i in 1:5){  #vérifier l'indexation maximale pour une ACM
    print(res.hcpc[[i]])
    }
    sink()

Discussions similaires

  1. [Débutant] un objet bouge dans une forme avec c++builder 6
    Par Imene MI dans le forum C++Builder
    Réponses: 7
    Dernier message: 14/05/2015, 17h02
  2. Réponses: 2
    Dernier message: 14/06/2008, 18h03
  3. Tabulation dans une form avec entrée
    Par Cl@rk dans le forum Windows Forms
    Réponses: 4
    Dernier message: 23/05/2008, 12h09
  4. Réponses: 4
    Dernier message: 15/03/2008, 11h13
  5. navigation dans une jsp avec javascript
    Par petitelulu dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 15/11/2004, 18h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo