Clusterinhalte analysieren

Varianzanalyse, Diskriminanzanalyse, Kontingenzanalyse, Faktorenanalyse, Clusteranalyse, MDS, ....

Moderator: EDi

Antworten
katlsa
Beiträge: 2
Registriert: Mo Mai 31, 2021 12:35 am

Clusterinhalte analysieren

Beitrag von katlsa »

Hallo liebes Forum!
Ich bin noch eine R-Anfängerin und hoffe, dass ihr mir helfen könnt!

Ich habe mittels K-means meine Cluster gebildet und würde diese jetzt gerne noch einzeln auf demographische (nicht clusterbildende) Variablen wie Alter, Geschlecht etc. analysieren.

Habt ihr eine Idee, mit welchem Code das funktionieren könnte? :idea:

Vielen Dank im Voraus :)
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Clusterinhalte analysieren

Beitrag von EDi »

Hmm.. Ziemlich wenig infos....

Code: Alles auswählen

?boxplot
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Clusterinhalte analysieren

Beitrag von bigben »

Hallo,

wirklich wenig Infos, ich versuch mich trotzdem an einer Antwort. Nehmen wir den Iris-Datensatz und clustern ihn in drei Cluster basierend auf den Messwerten der Blütenblätter ohne Einbezug der Spezies in drei Gruppen:

Code: Alles auswählen

cl <- kmeans(iris[, c("Sepal.Length", "Sepal.Width", "Petal.Length", "Petal.Width")], 3)
In unserem Ergebnis steckt nun für jede Zeile drin, in welches Cluster sie aufgenommen wurde. Das extrahiert man so:

Code: Alles auswählen

iris$Cluster <-  cl$cluster
head(iris)
Jetzt gibt es eine neue Spalte die allerlei Auswertungen zulässt. Wir könnten zum Beispiel zählen, wie sich die Spezies auf die Cluster verteilen (vielleicht macht sowas bei Dir Sinn mit dem Geschlecht):

Code: Alles auswählen

> table(iris$Species, iris$Cluster)
            
              1  2  3
  setosa      0  0 50
  versicolor  2 48  0
  virginica  36 14  0
Oder wir könnten uns die Kelchblattbreiten nach Cluster anzeigen lassen (vielleicht macht sowas bei Dir Sinn mit dem Alter):

Code: Alles auswählen

boxplot(iris$Sepal.Width ~ iris$Cluster, xlab = "kmeans Cluster mit k = 3")
oder die Clusternummer zum Einfärben einer Grafik verwenden (will sagen, ganz viel ist möglich, was Du untersuchen willst können wir nicht wissen):

Code: Alles auswählen

plot(iris$Sepal.Width ~ iris$Sepal.Length, col = iris$Cluster, 
     pch = 16)
HTH,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
katlsa
Beiträge: 2
Registriert: Mo Mai 31, 2021 12:35 am

Re: Clusterinhalte analysieren

Beitrag von katlsa »

Lieber Bernhard,
Deine Nachricht hat mir sehr geholfen! Mit der table()-Funktion hat alles super funktioniert :)

Vielen Dank nochmal!!! :D

Liebe Grüße,
Kathi
Antworten