# ================================== # CAH en R avec le package "cluster" # ================================== # Exemple de classification ascendante hiérarchique (CAH), avec les données "food.csv" (Birks 87) # de préférences alimentaires relatives à 20 aliments pour 16 pays d'Europe en 1987 food = read.table("food.csv", h=T, sep=";",,, "pays") # la colonne "pays" est l'identifiant food # pour voir... # Pour faire la CAH, on utilise la procédure "agnes" du package "cluster" qu'il convient # donc de charger préalablement library(cluster) # pour charger le package "cluster" supposé déjà installé # help(agnes) si on veut lire l'aide de la commande "agnes" cah = agnes(food, diss=FALSE, metric="euclidean", stand=FALSE, method="average") # ici le tableau est un tableau de données et non un tableau de distances ou de dissimilarités # la distance à utiliser est la distance euclidienne usuelle # les variables en colonnes ne sont pas à standardiser # et la distance entre groupes est la distance moyenne pltree(cah) # pour voir l'arborescence # par curiosité, avec la distance "manhattan" (somme des valeurs absolues des différences) # au lieu de la distance euclidienne entre deux vecteurs cah2 = agnes(food, diss=FALSE, metric="manhattan", stand=FALSE, method="average") pltree(cah2) # pour le fun, la CAH des aliments sur le tableau transposé "foodr.csv" foodr = read.table("foodr.csv", h=T, sep=";",,, "aliment") # lecture du tableau renversé cahr = agnes(foodr, diss=FALSE, metric="euclidean", stand=FALSE, method="average") pltree(cahr)