J'effectue actuellement un clustering de certaines données sur différentes données dans le but d'obtenir des scores. Voilà mon code :
Code : Tout sélectionner
donnée<-s2013$Derniere_commande
dist<-dist(donnée)
arbre<-hclust(dist, method = "ward.D2")
best.cutree(arbre, graph=TRUE, xlab="Nombre de classes",ylab="Inertie relative",ylim=c(0,1))
R<-cutree(arbre, 4)
freq(R)
A2Rplot(arbre, k=4, col.up="gray", col.down = brewer.pal(4,"Dark2"), show.labels = FALSE)
s2013<-cbind(s2013,R)
Le problème est le suivant, si ma division de classe me semble pertinent et efficace, les numéros ne correspondent pas a l'ordre croissant ou décroissant d'un scoring, je m'explique :
Code : Tout sélectionner
> mean(s2013$Derniere_commande[R==1])
[1] 25.15104
> mean(s2013$Derniere_commande[R==2])
[1] 92.19408
> mean(s2013$Derniere_commande[R==3])
[1] 297.2384
> mean(s2013$Derniere_commande[R==4])
[1] 186.7556
Comme vous pouvez le voir, ma classe 3 est la plus forte, je voudrai donc qu'elle soit ma classe N°4, c'est un exemple et j'ai le même problème pour mes autres tables, il me faut donc quelque chose de robuste et qui peut s'appliquer a n'importe quel jeu de donnée pour reclasser les classes dans le bon ordre.
Après quelques recherches et essais j'ai trouvé ça :
Code : Tout sélectionner
> reclassement<-aggregate(x=s2013$Derniere_commande, by=list(s2013$R),mean)
> reclassement<-order(reclassement$x, decreasing=TRUE)
> reclassement
[1] 3 4 2 1
Mais ça ne m'avance pas a grand chose puisque je ne vois pas comment le remettre dans la table.
Merci d'avance et bonne journée.