Seite 1 von 2

Namen der Experimente nicht angezeigt

Verfasst: Do Apr 29, 2021 4:19 pm
von Phero100
Hallo,
wahrscheinlich ein prinzipielles Probelm von mir:
Wenn ich eine Clusteranalyse mache und einen Datensatz wie unten verwende bekomme ich als Experiementnamen nur 1, 2, 3, etc, nicht aber die unter name stehenden Bezeichnungen. Das Problem habe ich generell. Den Datensatz habe ich mit der Importfunktion von R_studio generiert. Wie kann ich dafür sorgen, dass tatsächlich dei richtigen Bezeichnungen angegeben werden?

# A tibble: 3 x 415
name `1_3_Tetracosaned~ `1_3_Docosanedio~ E_b_Ocimene Cholesterol Heptacosane `3_Oxohexyl_E_2_3_dihy~ Unknown_B135_1
<chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 CAM040~ 0.0243 0.0440 0.209 0.0784 0.00963 0.888 0.00728
2 CAM040~ 0.00329 0.00613 0.0712 0.0974 0.0241 0.736 0.0125
3 CAM040~ 0.00891 0.00941 0.0729 0.0720 0.0140 0.816 0.0177

library(readr)
dat <- read_delim("File name.csv", ";", escape_double = FALSE, trim_ws = TRUE)
View(erg)
library("cluster")
erg.dist <- dist(dat, method = "euclidean")
erg.hc <- hclust(d = erg.dist, method = "complete")
erg.coph <- cophenetic(erg.hc)
cor(erg.dist, erg.coph)
library(factoextra)
fviz_dend(erg.hc, cex = 0.6, k = 4)

Herzlichen Dank für jede Hilfe

Re: Namen der Experimente nicht angezeigt

Verfasst: Do Apr 29, 2021 9:42 pm
von EDi
hclust nimmt die labels aus den rownames. Sind die gesetzt?

dist nimmt als input ein "a numeric matrix, data frame or "dist" object." , du hast aber ein tibble.
Vielleicht liegt's auch daran. tibbles sind nunmal keine reinen data.frames (auch wenn manchmal so angepriesen).

Für alles andere bitte ein reproduzierbares Beispiel posten.

Re: Namen der Experimente nicht angezeigt

Verfasst: Fr Apr 30, 2021 1:49 pm
von Phero100
Die rownames habe ich nicht explizit gesetzt. Wie setzt man sie denn?

Re: Namen der Experimente nicht angezeigt

Verfasst: Fr Apr 30, 2021 2:07 pm
von bigben
Hi!

Wenn jemand nochmal nachlesen möchte was gemeint ist mit
EDi hat geschrieben: Do Apr 29, 2021 9:42 pmFür alles andere bitte ein reproduzierbares Beispiel posten.
der könnte zum Beispiel hier nachlesen: viewtopic.php?f=20&t=11

tibbles sind nunmal keine reinen data.frames
Stimmt. Zum Beispiel finden die Erfinder von tibbles rownames blöd. Nun hat die Funktion hclust ja noch das Argument labels = dem man probeweise mal die Spalte dat$name übergeben könnte. Können wir halt ohne reproduzierbares Minimalbeispiel nicht ausprobieren.
Wie setzt man sie denn?
Am besten gar nicht, oder so wie es in der Dokumentation steht https://tibble.tidyverse.org/reference/rownames.html

LG,
Bernhard

Re: Namen der Experimente nicht angezeigt

Verfasst: Fr Apr 30, 2021 2:49 pm
von Phero100
Hallo,
hier ist jetzt der Code von mir

Code: Alles auswählen

Test <- structure(list(name = c("CAM040989G", "CAM040990G", "CAM040991G", 
                                "CAM041001G", "CAM041003G", "CAM041004G"), E_2_3_Dihydrofarnesoic_acid = c(0.067014925, 
                               0.053070175, 0.0898017, 0.038467742, 0.025086705, 0.041678832
                                ), Unknown_hydrocarbon_11 = c(0.000267164, 0.000176316, 0.00024221, 
                              1e-06, 0.00012948, 1e-06), Methyl_E_2_3_dihydrofarnesenoate = c(1e-06, 
                            7.21053e-05, 1e-06, 1e-06, 1e-06, 1e-06), Unknown_hydrocarbon_9 = c(1e-06, 
                            7.70175e-05, 1e-06, 2.22581e-05, 1e-06, 8.61314e-05), Unknown_B95_2 = c(0.001365672, 
                            0.001491228, 0.003456091, 0.004596774, 0.002236994, 0.00039927
                        )), row.names = c(NA, -6L), class = c("tbl_df", "tbl", "data.frame"
                            ))
library("cluster")
library(factoextra)
erg.hc <- hclust(d = erg.dist, method = "complete")
fviz_dend(erg.hc, cex = 0.6, k = 2)

Re: Namen der Experimente nicht angezeigt

Verfasst: Fr Apr 30, 2021 3:08 pm
von Phero100
Sorry, da fehlte etwas

Code: Alles auswählen

Test <- structure(list(name = c("CAM040989G", "CAM040990G", "CAM040991G", 
                                "CAM041001G", "CAM041003G", "CAM041004G"), E_2_3_Dihydrofarnesoic_acid = c(0.067014925, 
                               0.053070175, 0.0898017, 0.038467742, 0.025086705, 0.041678832
                                ), Unknown_hydrocarbon_11 = c(0.000267164, 0.000176316, 0.00024221, 
                              1e-06, 0.00012948, 1e-06), Methyl_E_2_3_dihydrofarnesenoate = c(1e-06, 
                            7.21053e-05, 1e-06, 1e-06, 1e-06, 1e-06), Unknown_hydrocarbon_9 = c(1e-06, 
                            7.70175e-05, 1e-06, 2.22581e-05, 1e-06, 8.61314e-05), Unknown_B95_2 = c(0.001365672, 
                            0.001491228, 0.003456091, 0.004596774, 0.002236994, 0.00039927
                        )), row.names = c(NA, -6L), class = c("tbl_df", "tbl", "data.frame"
                            ))
library("cluster")
library("factoextra")
library("ggplot2")
erg.dist <- dist(Test, method = "euclidean")
erg.hc <- hclust(d = erg.dist, method = "complete")
fviz_dend(erg.hc, cex = 0.6, k = 2)

Re: Namen der Experimente nicht angezeigt

Verfasst: Fr Apr 30, 2021 3:54 pm
von bigben
So?

Code: Alles auswählen

Test <- column_to_rownames(Test, var = "name")
erg.dist <- dist(Test, method = "euclidean")
erg.hc <- hclust(d = erg.dist, method = "complete")
plot(erg.hc)
Ich hatte mich übrigens vertan, hclust hat gar kein Argument labels. Mein Fehler.

LG,
Bernhard

Re: Namen der Experimente nicht angezeigt

Verfasst: Fr Apr 30, 2021 5:17 pm
von Phero100
Leider nein,
es gab dieses Ergebnis:
> Test <- column_to_rownames(Test, var = "name")
Fehler in column_to_rownames(Test, var = "name") :
unbenutztes Argument (var = "name")
> erg.dist <- dist(Test, method = "euclidean")
Warnmeldung:
In dist(Test, method = "euclidean") : NAs durch Umwandlung erzeugt
> erg.hc <- hclust(d = erg.dist, method = "complete")
> plot(erg.hc)

Re: Namen der Experimente nicht angezeigt

Verfasst: Fr Apr 30, 2021 10:57 pm
von bigben
Dann nochmal im ganzen Satz mit Variablendefinition. Das hier läuft bei mir so am Stück durch. Ohne Warnung, ohne Fehlermeldung und mit einem beschrifteten Plot am Ende. Bei Dir nicht?

Code: Alles auswählen

library(tibble)
Test <- structure(list(name = c("CAM040989G", "CAM040990G", "CAM040991G", 
                                "CAM041001G", "CAM041003G", "CAM041004G"), E_2_3_Dihydrofarnesoic_acid = c(0.067014925, 
                                                                                                           0.053070175, 0.0898017, 0.038467742, 0.025086705, 0.041678832
                                ), Unknown_hydrocarbon_11 = c(0.000267164, 0.000176316, 0.00024221, 
                                                              1e-06, 0.00012948, 1e-06), Methyl_E_2_3_dihydrofarnesenoate = c(1e-06, 
                                                                                                                              7.21053e-05, 1e-06, 1e-06, 1e-06, 1e-06), Unknown_hydrocarbon_9 = c(1e-06, 
                                                                                                                                                                                                  7.70175e-05, 1e-06, 2.22581e-05, 1e-06, 8.61314e-05), Unknown_B95_2 = c(0.001365672, 
                                                                                                                                                                                                                                                                          0.001491228, 0.003456091, 0.004596774, 0.002236994, 0.00039927
                                                                                                                                                                                                  )), row.names = c(NA, -6L), class = c("tbl_df", "tbl", "data.frame"
                                                                                                                                                                                                  ))

Test <- column_to_rownames(Test, var = "name")
erg.dist <- dist(Test, method = "euclidean")
erg.hc <- hclust(d = erg.dist, method = "complete")
plot(erg.hc)

Re: Namen der Experimente nicht angezeigt

Verfasst: Mo Mai 03, 2021 11:30 am
von Phero100
Doch, funktioniert. Allerherzlichen Dank. Mir war nicht klar, dass man die library tibble angeben muss.