2016-04-21 3 views
1

sagen, ich habe einen Datenrahmen von:Gibt es eine Möglichkeit, mehrere which.max-Funktionen auf einem Dataframe zu automatisieren?

DF <- data.frame(V1=c(2,8,1),V2=c(7,3,5),V3=c(9,6,4)) 
>DF 
    V1 V2 V3 
1 2 7 9 
2 8 3 6 
3 1 5 4 

ich Sie wissen, indem Sie die rowName des höchsten Wertes für eine einzelne Spalte zurückgeben kann:

which.max(DF[,1]) 

aber wäre es möglich sein, das Spiel zu verwenden, Geben Sie den Rowname mit dem höchsten Wert in jeder Spalte zurück, ohne manuell eine which.max für jede Spalte im Dataframe einzugeben.

Vielen Dank im Voraus.

+0

Verwendung Wenn Sie Ihre Daten vollständig numerisch ist, werden Sie wahrscheinlich eine Matrix, in welchem ​​Fall 'max.col (t (DF))' ist eine Option verwendet werden soll. – Frank

Antwort

3

eine Schleife

sapply(DF, which.max) 
+2

oder eine versteckte Schleife 'Vectorize (which.max) (DF)' – rawr

Verwandte Themen