Seite 1 von 1

Output des Spaltennamen mit bestimmter Eigenschaft

Verfasst: So Nov 25, 2018 5:50 pm
von FR1712
Hallo alle zusammen,
wahrscheinlich ist mein Problem nicht so schwer, dennoch bin ich nach dreitägiger Suche zu keinem Ergebnis gekommen.
Ich habe eine Matrix mit numerischen Einträgen und möchte für jede Zeile das Minimum. Soweit kein Problem. Jetzt will ich aber gern einen Vektor haben, in dem jeder Eintrag derjenige Spaltenname ist, der das Minimum realisiert.

Hier ein Beispiel:

Code: Alles auswählen

cols <- c("a","b","c")
rows <- c("q", "r", "s", "t")
mat <- matrix(sample.int(12), nrow = 4, ncol = 3, dimnames = list(rows, cols))
Minimum <- apply(mat, 1, min)
mat
   a  b  c
q 11  7  9
r  4 12  6
s  3  1 10
t  5  2  8
Minimum
q r s t 
7 4 1 2 
Gewünscht ist jetzt der Vektor

Code: Alles auswählen

     q  r   s   t  
Min  b  a   b   b

Re: Output des Spaltennamen mit bestimmter Eigenschaft

Verfasst: So Nov 25, 2018 6:08 pm
von jogo

Code: Alles auswählen

set.seed(42)
cols <- c("a","b","c")
rows <- c("q", "r", "s", "t")
mat <- matrix(sample.int(12), nrow = 4, ncol = 3, dimnames = list(rows, cols))
mat
cols[apply(mat, 1, which.min)] ## oder auch:
colnames(mat)[apply(mat, 1, which.min)]
Gruß, Jörg

Re: Output des Spaltennamen mit bestimmter Eigenschaft

Verfasst: So Nov 25, 2018 6:20 pm
von FR1712
Hervorragend, danke!