2016-04-21 38 views
1

說我有一個數據幀:有沒有一種方法可以自動化數據框上的幾個which.max函數?

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 

我知道你可以通過使用返回單個列的最高值的rowname:

which.max(DF[,1]) 

但它是可能使用的比賽返回每列中最高值的rowname,而不手動輸入數據框中每列的which.max?

在此先感謝。

+0

如果你的數據完全是數字,你應該用一個矩陣,在這種情況下'max.col(T(DF))'是一個選項。 – Frank

回答

3

使用循環

sapply(DF, which.max) 
+2

或一個隱藏的循環'Vectorize(which.max)(DF)' – rawr

相關問題