Dendrogramm vergrößern bzw. lesbar gestalten
Dendrogramm vergrößern bzw. lesbar gestalten
Hallo zusammen,
ich habe gerade erst mit R und dem Thema hierarchische Clusteranalyse begonnen.
Die Funktion "plot" nach "hclust" liefert zwar sowas wie ein Dedrogramm, allerdings viel zu klein und nicht lesbar. Es ist nur eine Ansammlung von Strichen übereinander.
Die Distanzmatrix für die Clusterananalyse hat eine Größe von bis zu 3000x3000 Werten.
Wie kann man das Dendrogramm so vergrößern und verändern, das man daraus etwas ablesen kann?
Wie kann man die Grafik als Bild abspeichern, das deutlich genug ist, um es später in ein Dokument einzubinden?
Ich hoffe, ihr könnt mir helfen, auch wenn meine Programmierkenntnisse sehr sehr überschaubar sind.
Vielen Dank und viele Grüße
Anna
ich habe gerade erst mit R und dem Thema hierarchische Clusteranalyse begonnen.
Die Funktion "plot" nach "hclust" liefert zwar sowas wie ein Dedrogramm, allerdings viel zu klein und nicht lesbar. Es ist nur eine Ansammlung von Strichen übereinander.
Die Distanzmatrix für die Clusterananalyse hat eine Größe von bis zu 3000x3000 Werten.
Wie kann man das Dendrogramm so vergrößern und verändern, das man daraus etwas ablesen kann?
Wie kann man die Grafik als Bild abspeichern, das deutlich genug ist, um es später in ein Dokument einzubinden?
Ich hoffe, ihr könnt mir helfen, auch wenn meine Programmierkenntnisse sehr sehr überschaubar sind.
Vielen Dank und viele Grüße
Anna
Re: Dendrogramm vergrößern bzw. lesbar gestalten
Hallo Anna,
willkommen im Forum!
Bei so vielen Elementen ist es üblicherweise unpraktisch, alle Elemente im Dendrogramm zu haben.
Bitte schau mal nach den Parametern von plot.hclust()
Falls es doch gewünscht ist, alle Elemente im Dendrogramm zu haben, wirst Du es in einer hohen Auflösung abspeichern müssen.
Weißt Du schon, welches Grafikformat Du verwenden möchtest?
Kannst Du uns auch bitte den Code mit dem Aufruf von hclust() zeigen?
Gruß, Jörg
willkommen im Forum!
Bei so vielen Elementen ist es üblicherweise unpraktisch, alle Elemente im Dendrogramm zu haben.
Bitte schau mal nach den Parametern von plot.hclust()
Code: Alles auswählen
help("plot.hclust")
Weißt Du schon, welches Grafikformat Du verwenden möchtest?
Kannst Du uns auch bitte den Code mit dem Aufruf von hclust() zeigen?
Gruß, Jörg
Re: Dendrogramm vergrößern bzw. lesbar gestalten
Hallo Jörg,
danke für die schnelle Reaktion.
Mein Problem ist, daß ich so gut wie kein Englisch kann. D.h. ich kann nicht viel mit der R-Hilfe anfangen und habe bisher auch noch kein Handbuch in deutscher Sprache gefunden.
Mit welcher Funktion kann man eine hohe Auflösung abspeichern? Welche Bildformate sind möglich? Die Bilder sollen später in Word eingebunden werden.
Danke und viele Grüße
Anna
danke für die schnelle Reaktion.
Code: Alles auswählen
meintab <- read.csv2(file="fus1.csv", dec=".", sep=";", header=TRUE)
d <- dist(meintab, method = "binary", diag = FALSE, upper = FALSE)
hc <- hclust(d, method = "single", members = NULL)
plot(hc)
Mit welcher Funktion kann man eine hohe Auflösung abspeichern? Welche Bildformate sind möglich? Die Bilder sollen später in Word eingebunden werden.
Danke und viele Grüße
Anna
Zuletzt geändert von jogo am Fr Okt 16, 2020 4:27 pm, insgesamt 1-mal geändert.
Grund: Formatierung verbessert. http://forum.r-statistik.de/viewtopic.php?f=20&t=29
Grund: Formatierung verbessert. http://forum.r-statistik.de/viewtopic.php?f=20&t=29
Re: Dendrogramm vergrößern bzw. lesbar gestalten
oh, das ist nicht gut für die Arbeit mit R. Wobei das Englisch in den Hilfetext recht minimalistisch ist im Vergleich zur Umgangssprache.Anna2 hat geschrieben: ↑Fr Okt 16, 2020 4:17 pmMein Problem ist, daß ich so gut wie kein Englisch kann. D.h. ich kann nicht viel mit der R-Hilfe anfangen und habe bisher auch noch kein Handbuch in deutscher Sprache gefunden.Code: Alles auswählen
meintab <- read.csv2(file="fus1.csv", dec=".", sep=";", header=TRUE) d <- dist(meintab, method = "binary", diag = FALSE, upper = FALSE) hc <- hclust(d, method = "single", members = NULL) plot(hc)
Es gibt Funktionen für die Erstellung folgender Formate:Mit welcher Funktion kann man eine hohe Auflösung abspeichern? Welche Bildformate sind möglich? Die Bilder sollen später in Word eingebunden werden.
BMP, JPEG, PNG und TIFF
Alle Beschreibungen findest Du in einem Hilfetext, z.B.
Code: Alles auswählen
help("png")
Re: Dendrogramm vergrößern bzw. lesbar gestalten
Hallo Jörg,
die Funktion "png" erzeugt bei mir leider nur eine Datei der Größe 0 Bytes, die nicht geöffnet werden kann.
png(filename = "Rplot%03d.png", width = 480, height = 480, units = "px", pointsize = 12, bg = "white")
Viele Grüße
Anna
die Funktion "png" erzeugt bei mir leider nur eine Datei der Größe 0 Bytes, die nicht geöffnet werden kann.
png(filename = "Rplot%03d.png", width = 480, height = 480, units = "px", pointsize = 12, bg = "white")
Viele Grüße
Anna
Re: Dendrogramm vergrößern bzw. lesbar gestalten
Falls du RStudio als Entwicklungsumgebung nutzt kannst du auch per Knopfdruck dort das machen. plotfenster => Export
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
.
Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
.
Re: Dendrogramm vergrößern bzw. lesbar gestalten
Hallo Anna,
Du verwendest die Funktion nicht richtig.
So etwa sollte es aussehen:
Gruß, Jörg
p.s.:
480 wird wahrscheinlich nicht reichen (evtl. 4800)
Du kannst auch einen eigenen Namen für die Datei wählen.
Du verwendest die Funktion nicht richtig.
Die Funktion png() erzeugt nur die Zeichenfläche. Das Zeichnen macht erst die plot-Funktion.
So etwa sollte es aussehen:
Code: Alles auswählen
png(filename = "Rplot%03d.png", width = 480, height = 480, units = "px", pointsize = 12, bg = "white")
plot(hc)
dev.off()
p.s.:
480 wird wahrscheinlich nicht reichen (evtl. 4800)
Du kannst auch einen eigenen Namen für die Datei wählen.
Re: Dendrogramm vergrößern bzw. lesbar gestalten
Hallo Jörg,
es funktioniert. Vielen Dank.
Gibt es eine Funktion, die mir
a) die Anzahl der Gruppen und
b) die einzelnen Objekte pro Gruppe
auf einer bestimmten Stufe/Höhe im Dendrogramm (z.B. bei h = 0,2) auflistet?
Viele Grüße
Anna
es funktioniert. Vielen Dank.
Gibt es eine Funktion, die mir
a) die Anzahl der Gruppen und
b) die einzelnen Objekte pro Gruppe
auf einer bestimmten Stufe/Höhe im Dendrogramm (z.B. bei h = 0,2) auflistet?
Viele Grüße
Anna
Re: Dendrogramm vergrößern bzw. lesbar gestalten
Code: Alles auswählen
?cutree
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
.
Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
.
Re: Dendrogramm vergrößern bzw. lesbar gestalten
Hallo EDi,
vielen Dank für den Hinweis.
"cutree" funktioniert leider nur für hclust mit Single- bzw. Complete Linkage, aber nicht für Ward.
Der Fehler besagt, daß die Höhen nicht sortiert sind. Wenn man sich die Höhe ($height) ausgiebt, sind die Werte aber aufsteigend sortiert.
> hcFuss <- hclust(distanzFuss, method = "ward.D2", members = NULL)
> write.csv2((cutree(hcFuss, h=5.9)), file="fuss_h59.csv")
Fehler in cutree(hcFuss, h = 5.9) :
the 'height' component of 'tree' is not sorted (increasingly)
> write.csv2((cutree(as.hclust(hcFuss), h=5.9)), file="fuss_h590.csv")
Fehler in cutree(as.hclust(hcFuss), h = 5.9) :
the 'height' component of 'tree' is not sorted (increasingly)
Wie kann man sich die Anzahl der Gruppen und die einzelnen Objekte pro Gruppe auf einer bestimmten Höhe im Dendrogramm auflisten lassen für die Funktion hclust mit ward.D2?
Danke und viele Grüße
Anna
vielen Dank für den Hinweis.
"cutree" funktioniert leider nur für hclust mit Single- bzw. Complete Linkage, aber nicht für Ward.
Der Fehler besagt, daß die Höhen nicht sortiert sind. Wenn man sich die Höhe ($height) ausgiebt, sind die Werte aber aufsteigend sortiert.
> hcFuss <- hclust(distanzFuss, method = "ward.D2", members = NULL)
> write.csv2((cutree(hcFuss, h=5.9)), file="fuss_h59.csv")
Fehler in cutree(hcFuss, h = 5.9) :
the 'height' component of 'tree' is not sorted (increasingly)
> write.csv2((cutree(as.hclust(hcFuss), h=5.9)), file="fuss_h590.csv")
Fehler in cutree(as.hclust(hcFuss), h = 5.9) :
the 'height' component of 'tree' is not sorted (increasingly)
Wie kann man sich die Anzahl der Gruppen und die einzelnen Objekte pro Gruppe auf einer bestimmten Höhe im Dendrogramm auflisten lassen für die Funktion hclust mit ward.D2?
Danke und viele Grüße
Anna