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 :

problème dans plot.pca


Sujet :

R

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 185
    Points : 51
    Points
    51
    Par défaut problème dans plot.pca
    Bonjour à tous,
    j'ai un problème dans la fonction plot.pca en effet j'ai une variable y qui contient des 0 et des 1 je voulais l'utiliser comme variable qualitative pour avoir une image contenant les indiv 0 en noir et les indiv 1 en rouge, alors j'ai eu le message d'erreur suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    resultat.pca = PCA(dat, scale.unit=TRUE, graph=T)
    plot.PCA(resultat.pca, axes=c(1, 2), choix="ind", habillage="y")
    Error in plot.PCA(resultat.pca, axes = c(1, 2), choix = "ind", habillage = "y") : 
      The variable y is not qualitative
    Merci infiniment d'avance pour toute réponse.

  2. #2
    Membre éclairé
    Homme Profil pro
    Chercheur
    Inscrit en
    Décembre 2015
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2015
    Messages : 327
    Points : 793
    Points
    793
    Par défaut
    Pour qu'une variable soit reconnue comme qualitative dans plot.PCA, il faut qu'elle soit déclarée comme qualitative dans l'analyse, c'est-à-dire dans l'appel à PCA. Pour que PCA la prenne en compte, il faut :
    1. que ce soit un facteur, donc qu'elle soit déjà un facteur ou qu'elle soit transformée en facteur (fonction factor ou appel à as.factor) ;
    2. que son emplacement ou indice dans le tableau passé en argument à PCA soit donné par l'argument quali.sup de PCA. Cela peut se faire aussi par le code suivant :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      dat$y <- factor( dat$y)
      resultat.pca = PCA(dat, scale.unit=TRUE, graph=T, quali.sup=which( names( dat) == "y"))


    Note : Étant donné que y code la présence ou l'absence d'un caractère, c'est une erreur de modélisation de faire apparaître cette variable comme variable active dans l'ACP. Pour plus de détails sur l'ACP, je te conseille de lire le livre de J. Pagès et B. Escoffier et/ou celui de F. Lebart, M. Piron, A. Morineau, tous les deux ayant été publiés chez Dunod. Ce sont deux excellents livres en français pour comprendre les statistiques multivariées. Plus spécifique, le livre de F. Husson, S. Le, J. Pagès : Analyse des données avec R aux Presses Universitaires de Rennes, explique de plus comment mener ces analyses en utilisant le package FactoMineR.

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 185
    Points : 51
    Points
    51
    Par défaut
    Citation Envoyé par faubry Voir le message
    Pour qu'une variable soit reconnue comme qualitative dans plot.PCA, il faut qu'elle soit déclarée comme qualitative dans l'analyse, c'est-à-dire dans l'appel à PCA. Pour que PCA la prenne en compte, il faut :
    1. que ce soit un facteur, donc qu'elle soit déjà un facteur ou qu'elle soit transformée en facteur (fonction factor ou appel à as.factor) ;
    2. que son emplacement ou indice dans le tableau passé en argument à PCA soit donné par l'argument quali.sup de PCA. Cela peut se faire aussi par le code suivant :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      dat$y <- factor( dat$y)
      resultat.pca = PCA(dat, scale.unit=TRUE, graph=T, quali.sup=which( names( dat) == "y"))
    le résultat de ce code ne donne pas des indivs en rouges et en noirs il donne juste les libellés 0 et 1 !
    Nom : pca.png
Affichages : 855
Taille : 37,6 Ko

  4. #4
    Membre éclairé
    Homme Profil pro
    Chercheur
    Inscrit en
    Décembre 2015
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2015
    Messages : 327
    Points : 793
    Points
    793
    Par défaut
    Ce qui est en noir sur le graphique n'est pas les points mais les étiquettes des sujets. En effet, par défaut plot.PCA imprime sur le graphique, à coté du point, son étiquette. Cette étiquette peut être enlevée en donnant la valeur "none" à l'argument label. Maintenant, il faut aussi donner des valeurs à col.hab pour coder les catégories. Pour plus de renseignement, voir la page d'aide de la fonction.

  5. #5
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2016
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2016
    Messages : 185
    Points : 51
    Points
    51
    Par défaut
    Citation Envoyé par faubry Voir le message
    Ce qui est en noir sur le graphique n'est pas les points mais les étiquettes des sujets. En effet, par défaut plot.PCA imprime sur le graphique, à coté du point, son étiquette. Cette étiquette peut être enlevée en donnant la valeur "none" à l'argument label. Maintenant, il faut aussi donner des valeurs à col.hab pour coder les catégories. Pour plus de renseignement, voir la page d'aide de la fonction.
    merci juste il faut appeler la fonction plot(resultat.pca,habillage="type)

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

Discussions similaires

  1. problème dans la commande plot ?
    Par nabilfib dans le forum MATLAB
    Réponses: 2
    Dernier message: 19/12/2012, 19h39
  2. problème dans l'hebergement
    Par Redouane dans le forum ASP
    Réponses: 9
    Dernier message: 31/12/2003, 23h34
  3. Quel est le problème dans ce code ?
    Par Luther13 dans le forum C
    Réponses: 12
    Dernier message: 26/08/2003, 16h09
  4. Problème dans analisys Manager
    Par ien_ien23 dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 11/07/2003, 14h38
  5. Problème dans requête avec count()
    Par BadFox dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/07/2003, 18h02

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