2017-05-24 5 views
0

Ich habe einige hierarchische Clusterings in R gemacht. Es funktionierte bis jetzt gut, produziert hclust Objekte links und zentriert, aber plötzlich nicht mehr. Jetzt wird es nur Listen erzeugt bei der Durchführung:Hierarchisches Clustering erzeugt Liste anstelle von hclust

mydata.clusters <- hclust(dist(mydata[, 1:8])) 
mydata.clustercut <- cutree(mydata.clusters, 4) 

und wenn sie versuchen zu:

table(mydata.clustercut, mydata$customer_lifetime) 

es tut eine Tabelle zu erzeugen, aber ein endloser Druck des Wertes (Im aus der Liste zu erraten).

+3

Willkommen bei Stackoverflow !, können Sie hier [wie um ein reproduzierbares Beispiel zu veröffentlichen] (https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) und stellen Sie sicher, dass Ihr Beispiel reproduzierbar ist. Sie müssen nicht das gesamte Dataset nur die Teilmenge buchen, die Ihr Problem repliziert. – OdeToMyFiddle

Antwort

0

Die cœtree-Funktion liefert die Gruppierung, zu der jede Beobachtung gehört. Zum Beispiel:

iris.clust <- hclust(dist(iris[,1:4])) 
iris.clustcut <- cutree(iris.clust, 4) 

iris.clustcut 
# [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 
# [52] 2 2 3 2 3 2 3 2 3 3 3 3 2 3 2 3 3 2 3 2 3 2 2 2 2 2 2 2 3 3 3 3 2 3 2 2 2 3 3 3 2 3 3 3 3 3 2 3 3 2 2 
# [103] 4 2 2 4 3 4 2 4 2 2 2 2 2 2 2 4 4 2 2 2 4 2 2 4 2 2 2 4 4 4 2 2 2 4 2 2 2 2 2 2 2 2 2 2 2 2 2 2 

Zusätzliche Vergleich kann dann mit diesem als eine Gruppenvariable für die beobachteten Daten erfolgen:

new.iris <- data.frame(iris, gp=iris.clustcut) 

# example to visualise quickly the Species membership of each group 

library(ggplot2) 
ggplot(new.iris, aes(gp, fill=Species)) + 
    geom_bar() 

enter image description here

+0

Für mich ergibt dies eine Darstellung, wie viele es in jedem Cluster gibt. Es spielt keine Rolle, welche Variable ich "füllen" möchte. – Ichibichi