Skip to content

analyse-R/classification-ascendante-hierarchique #109

Closed

Description

@utterances-bot

Classification ascendante hiérarchique (CAH)

undefined

http://larmarange.github.io/analyse-R/classification-ascendante-hierarchique.html

Activity

  1. MaximeDmnt commented on Oct 10, 2019

    @MaximeDmnt

    Bonjour ! Une fois la classification faite, (HCPC avec FactomineR dans mon cas), j'ai bien accès à tous les graphique présentés ci-dessus. Dans mon étude, chaque individu correspond à une commune, et je dois pouvoir afficher sur une carte le cluster de chacune des communes.
    Ainsi, pour chaque individu, j’aimerais connaitre le cluster auquel il appartient (par exemple en ayant une colonne en plus dans mon dataset indiquant le numéro du cluster de l'individu).
    Savez-vous si c'est possible ? (J'ai écumé les forums, et le fonctionnement des fonction hclust, hcpc, mais je ne trouve rien)

  2. larmarange commented on Oct 10, 2019

    @larmarange
    Owner

    L’objet renvoyé par HCPC() contient de nombreuses informations. La partition peut notamment être récupérée avec cah$data.clust$clust. Il y a également diverses statistiques pour décrire les catégories.

    Donc, si votre fichier de données s'appelle communes et le résultat de HCPC() s'appelle cah :

    communes$cluster <- cah$data.clust$clust
  3. Lea-WS commented on Jan 27, 2020

    @Lea-WS

    Bonjour,
    J'ai exactement la même question que Maxime, mais j'ai fait ma classification avec hclust à partir d'une matrice des distance de gower (construite avec la fonction daisy).
    Je ne trouve pas comment faire pour associer les catégories aux individus. Est-ce que c'est possible ?
    Merci !

  4. larmarange commented on Jan 27, 2020

    @larmarange
    Owner

    si on appelle arbre le résultat de hclust() et que l'on veut 4 caétgories :

    df$typo <- cutree(arbre, 4)
  5. Lea-WS commented on Jan 28, 2020

    @Lea-WS
  6. pollito77 commented on May 12, 2020

    @pollito77

    Bonjour, lorsque j'utilise A2Rplot, cela me donne :
    Erreur : pile de noeuds débordée vers le haut
    Erreur pendant l'emballage (wrapup) : pile de noeuds débordée vers le haut
    Qu'est-ce que cela signifie ?
    Merci d'avance.

  7. larmarange commented on May 14, 2020

    @larmarange
    Owner

    A2Rplot() est une fonction un peu ancienne récupérée sur le net et qui ne fonctionne pas toujours. Je ne sais d'où peut venir le bug mentionné.

    Dans ce genre de situation, je vous invite à vous tourner vers des fonctions de représentations de dendrogrammes plus classiques, même si moins esthétiques.

    Vous pouvez en particulier regarder du côté de dendextend : http://talgalili.github.io/dendextend/articles/dendextend.html

  8. ibonheme commented on May 27, 2020

    @ibonheme

    Bonjour,
    J'ai réalisé une CAH sur un tableau de contingence espèces x points d'inventaire, j'ai utilisé la fonction daisy pour pouvoir calculer la matrice de distance avec l'indice de gover. J'ai ensuite réalisé le dendrogramme par la méthode "ward.D2" de hclust et réalisé par typologie ne utilisant cutree().

    En utilisant une autre méthode, c'est-à-dire HCPC() pour faire une CAH, un dendrogramme et une partition, je parviens à récupérer une liste d'espèces qui sont bien caractéristiques (ou au contraire absentes) de mes groupes via $desc.var$quanti, je me demandais comment accéder à cette information lorsque j'utilise la première méthode indiquée?

    Merci pour votre aide,

  9. larmarange commented on May 27, 2020

    @larmarange
    Owner

    Il vous faut regarder du côté des fonctions catdes() et descfred() de FactoMineR qui procède à une description des classes.

  10. ibonheme commented on May 27, 2020

    @ibonheme
  11. EL-O2 commented on Aug 20, 2020

    @EL-O2

    Bonjour,

    Pour réaliser une ACM avec dudi.acm, comment faire pour différencier les variables et les variables supplémentaires, s'il vous plaît ? Si je reprends votre exemple, toutes les variables spécifiées dans la première ligne de code sont des variables actives.

    d2 <- d[, c("grpage", "sexe", "etud", "peche.chasse", "cinema",
    "cuisine", "bricol", "sport", "lecture.bd")]
    library(ade4)
    acm <- dudi.acm(d2, scannf = FALSE, nf = 5)

    Vous les stockez dans un objet (ici d2) et vous réalisez l'ACM sur ces variables à l'aide de dudi.acm. Mais comment faire si notre jeu de données comporte des variables actives et des variables supplémentaires ? N'existe-t-il pas un moyen de spécifier dans la commande dudi.acm que telles variables sont actives et les autres supplémentaires.

    Merci pour votre aide !

  12. larmarange commented on Aug 20, 2020

    @larmarange
    Owner

    Les variables supplémentaires ne participent pas au calcul de l'ACM mais sont projetées dans l'espace de l'ACM déjà calculé.

    Avec ade4, vous utiliserez la fonction supcol().

    Cordialement

  13. PinaSimone commented on Nov 9, 2020

    @PinaSimone

    Bonjour,

    Existe-t'il une fonction pour avoir la description des classes avec le package "ade4" ?

  14. larmarange commented on Nov 9, 2020

    @larmarange
    Owner

    La commande ?dudi permets d'avoir une description des objets produits par ade4:

    tab
    a data frame with n rows and p columns

    cw
    column weights, a vector with n components

    lw
    row (lines) weights, a vector with p components

    eig
    eigenvalues, a vector with min(n,p) components

    nf
    integer, number of kept axes

    c1
    principal axes, data frame with p rows and nf columns

    l1
    principal components, data frame with n rows and nf columns

    co
    column coordinates, data frame with p rows and nf columns

    li
    row coordinates, data frame with n rows and nf columns

    call
    original call

  15. GB49 commented on Feb 1, 2021

    @GB49

    Bonjour,

    Merci pour le tuto bien complet !
    A l'issue d'une CAH, je souhaite changer l'ordre de mes individus sur le graphique du dendrogramme (tout en respectant la classification bien sur). Faire pivoter une "branche" de 180° par exemple. Avez-vous idée pour le faire directement dans R ?

    Merci bcp

  16. larmarange commented on Feb 1, 2021

    @larmarange
    Owner

    Manipuler un dendrogramme n'est pas très simple à ma connaissance.

    Vous pouvez éventuellement regarder du côté de dendextend : https://cran.r-project.org/web/packages/dendextend/vignettes/dendextend.html

  17. GB49 commented on Feb 1, 2021

    @GB49

    Merci pour la réponse très rapide !
    J'ai réussi à réarranger mon dendrogramme (34 individus pour 10 groupes) comme je le souhaitais.
    "https://www.biostars.org/p/309913/" En m'inspirant de ce poste, j'ai forcer l'arrangement de chaque individu. A partir de l'arbre du dendrogramme, on peut obtenir le nom de chaque individu avec arbre$labels et leur ordre avec arbre$order. Il suffit ensuite de changer l'ordre de chaque individu avec la fonction reorder et le paramètre agglo.FUN=mean. Un peu fastidieux mais une fois le raisonnement compris ça se fait et le résultat est propre. En tous cas merci !

  18. Pau974 commented on Apr 19, 2021

    @Pau974

    Merci pour ce tuto très complet. Tout fonctionne très bien mais impossible d'utiliser tbl_summary.. On me renvoie un message d'erreur : impossible de trouver la fonction "tbl_summary"

    Le package gtsummary est pourtant bien installé...

  19. larmarange commented on Apr 19, 2021

    @larmarange
    Owner

    Le package a-t-il bien été chargé en mémoire avec library(gtsummary) ?

  20. Pau974 commented on Apr 19, 2021

    @Pau974

    Oui installé et chargé...

  21. larmarange commented on Apr 19, 2021

    @larmarange
    Owner

    Quelle est la commande précise ? et le message d'erreur exact ?

  22. Pau974 commented on Apr 19, 2021

    @Pau974

    Oui, pardon j'aurais du le préciser dès le début ..

    library(gtsummary)
    cl %>%
    tbl_summary(by = typo)

    cl étant mon jeu de données
    data_cl

    Le message d'erreur que l'on me renvoie :
    Error in tbl_summary(., by = typo) :
    impossible de trouver la fonction "tbl_summary"

    J'ai essayé de lancer votre script avec les données hdv2003 du package questionr mais on me renvoie le même message d'erreur

  23. larmarange commented on Apr 19, 2021

    @larmarange
    Owner

    Essayez de réinstaller gtsummary. Pour cela, faites le à partir d'une nouvelle session R vierge, et n'ayant rien fait ni chargé un quelconque package.

  24. Pau974 commented on Apr 19, 2021

    @Pau974

    J'ai été trop vite en disant que le package était bien chargé.. en réalité le problème vient du chargement qui ne se fait pas ..

    library(gtsummary)
    Erreur : package or namespace load failed for ‘gtsummary’ in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]):
    l'espace de noms ‘htmltools’ 0.4.0 est en train de charger, mais >= 0.5.0 est requis
    De plus : Warning message:
    le package ‘gtsummary’ a été compilé avec la version R 3.6.3

  25. larmarange commented on Apr 19, 2021

    @larmarange
    Owner

    Vous avez quelle version de R ? Est-ce que le package est bien à jour ?

    Je vosu invite à mettre à jour tous vos packages

  26. Pau974 commented on Apr 19, 2021

    @Pau974

    Milles merci ! C'était bien une histoire de mise à jour !
    Merci pour votre réactivité!

  27. Repository owner locked and limited conversation to collaborators on Oct 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions