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 :

Erreur dans la fonction SCATTER() appliquée à une AFCM


Sujet :

R

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2016
    Messages : 7
    Points : 8
    Points
    8
    Par défaut Erreur dans la fonction SCATTER() appliquée à une AFCM
    Bonjour, je suis actuellement stagiaire et j'ai besoin d'analyser un jeu de données qualitative sur des notations de maïs doux.
    J'arrive à faire l'AFCM par la fonction dudi.acm, mais je n'arrive pas à obtenir mes graphiques finaux de type scatter (avec les cercles). Le message d'erreur est le suivant : Error in s.class(x$li, oritab[, i], xax = xax, yax = yax, clabel = 1.5, : factor expected for fac

    J'ai fouiné pour comprendre que la fonction scatter faisait tourner la fonction s.class en boucle, mais ça ne m'a pas beaucoup avancé. Je suppose que cela vient de mon jeu de données, mais je ne vois vraiment pas d'où ça vient car toute mes variables sont bien qualitatives.

    Si quelqu'un pouvait m'éclairer je lui en serait très reconnaissant.

    Voici mon script et ce que j'obtient quand je lance le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    > str(epis_stat)
    Classes 'tbl_df', 'tbl' and 'data.frame':	57 obs. of  6 variables:
     $ CovEpi   : Factor w/ 5 levels "à peine couvert",..: 3 4 1 1 2 3 1 1 2 4 ...
     $ RempliEpi: Factor w/ 3 levels "mal remplis",..: 1 3 3 3 3 3 3 3 3 2 ...
     $ Gouts    : Factor w/ 4 levels "Desagreable (--)",..: 1 1 1 1 1 1 1 1 1 1 ...
     $ Couleur  : Factor w/ 4 levels "pâle","un peu pâle",..: 3 3 3 3 3 3 3 1 3 4 ...
     $ PartRafle: Factor w/ 4 levels "très mauvais",..: 4 2 4 3 4 3 2 2 3 2 ...
     $ LongEpi  : Factor w/ 4 levels "petit","moyen",..: 2 1 3 3 4 4 3 4 2 2 ...
    > head(epis_stat)
    # A tibble: 6 x 6
                   CovEpi           RempliEpi            Gouts         Couleur PartRafle   LongEpi
                   <fctr>              <fctr>           <fctr>          <fctr>    <fctr>    <fctr>
    1        bien couvert         mal remplis Desagreable (--) couleur moyenne  très bon     moyen
    2 un peu trop couvert complètment remplis Desagreable (--) couleur moyenne   mauvais     petit
    3     à peine couvert complètment remplis Desagreable (--) couleur moyenne  très bon      long
    4     à peine couvert complètment remplis Desagreable (--) couleur moyenne       bon      long
    5      un peu couvert complètment remplis Desagreable (--) couleur moyenne  très bon très long
    6        bien couvert complètment remplis Desagreable (--) couleur moyenne       bon très long
    > afcm1 <- dudi.acm(epis_stat,scann=F,nf=6)
    > afcm1
    Duality diagramm
    class: acm dudi
    $call: dudi.acm(df = epis_stat, scannf = F, nf = 6)
     
    $nf: 6 axis-components saved
    $rank: 18
    eigen values: 0.351 0.2985 0.2662 0.2611 0.2601 ...
      vector length mode    content       
    1 $cw    24     numeric column weights
    2 $lw    57     numeric row weights   
    3 $eig   18     numeric eigen values  
     
      data.frame nrow ncol content             
    1 $tab       57   24   modified array      
    2 $li        57   6    row coordinates     
    3 $l1        57   6    row normed scores   
    4 $co        24   6    column coordinates  
    5 $c1        24   6    column normed scores
    other elements: cr 
    > scatter(afcm1)
    Error in s.class(x$li, oritab[, i], xax = xax, yax = yax, clabel = 1.5,  : 
      factor expected for fac

  2. #2
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    276
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 276
    Points : 561
    Points
    561
    Par défaut
    Bonjour,

    le problème vient du fait que epis_stat n'est pas qu'un data.frame (3 classes pour cet objet). Si tu fais afcm1 <- dudi.acm(as.data.frame(epis_stat), scann = F, nf = 6) alors ça devrait fonctionner par la suite pour la fonction scatter.

    cordialement

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2016
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    ça fonctionne !!! Merci beaucoup, je l'aurai jamais vu sans votre aide.
    A bientôt et encore merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur dans la ré-exécution d'une fonction
    Par Tarsa dans le forum Images
    Réponses: 1
    Dernier message: 22/08/2015, 13h26
  2. Réponses: 15
    Dernier message: 22/03/2007, 02h35
  3. Erreur dans un programme php pour une connexion à une bdd
    Par gaetan.tranvouez dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 12/06/2006, 21h06
  4. erreur dans la fonction update (en asp)
    Par leclone dans le forum ASP
    Réponses: 1
    Dernier message: 26/05/2006, 10h00
  5. Erreur dans ma fonction smileys
    Par AlphonseBrown dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 19/03/2006, 19h54

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