Output des Spaltennamen mit bestimmter Eigenschaft

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

Moderatoren: EDi, jogo

Antworten
FR1712
Beiträge: 17
Registriert: So Nov 11, 2018 11:23 pm

Output des Spaltennamen mit bestimmter Eigenschaft

Beitrag 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
jogo
Beiträge: 2085
Registriert: Fr Okt 07, 2016 8:25 am

Re: Output des Spaltennamen mit bestimmter Eigenschaft

Beitrag 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
FR1712
Beiträge: 17
Registriert: So Nov 11, 2018 11:23 pm

Re: Output des Spaltennamen mit bestimmter Eigenschaft

Beitrag von FR1712 »

Hervorragend, danke!
Antworten