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.