Namen der Experimente nicht angezeigt

Wie rufe ich R-Funktionen auf, wie selektiere ich Daten, ich weiß nicht genau ....

Moderatoren: EDi, jogo

Phero100
Beiträge: 6
Registriert: Do Apr 29, 2021 11:51 am

Namen der Experimente nicht angezeigt

Beitrag 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
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Namen der Experimente nicht angezeigt

Beitrag 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.
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.
Phero100
Beiträge: 6
Registriert: Do Apr 29, 2021 11:51 am

Re: Namen der Experimente nicht angezeigt

Beitrag von Phero100 »

Die rownames habe ich nicht explizit gesetzt. Wie setzt man sie denn?
bigben
Beiträge: 2781
Registriert: Mi Okt 12, 2016 9:09 am

Re: Namen der Experimente nicht angezeigt

Beitrag 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
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Phero100
Beiträge: 6
Registriert: Do Apr 29, 2021 11:51 am

Re: Namen der Experimente nicht angezeigt

Beitrag 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)
Phero100
Beiträge: 6
Registriert: Do Apr 29, 2021 11:51 am

Re: Namen der Experimente nicht angezeigt

Beitrag 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)
bigben
Beiträge: 2781
Registriert: Mi Okt 12, 2016 9:09 am

Re: Namen der Experimente nicht angezeigt

Beitrag 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
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Phero100
Beiträge: 6
Registriert: Do Apr 29, 2021 11:51 am

Re: Namen der Experimente nicht angezeigt

Beitrag 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)
bigben
Beiträge: 2781
Registriert: Mi Okt 12, 2016 9:09 am

Re: Namen der Experimente nicht angezeigt

Beitrag 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)
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Phero100
Beiträge: 6
Registriert: Do Apr 29, 2021 11:51 am

Re: Namen der Experimente nicht angezeigt

Beitrag von Phero100 »

Doch, funktioniert. Allerherzlichen Dank. Mir war nicht klar, dass man die library tibble angeben muss.
Antworten