[英]Identifying Column With Highest Numeric Value in Data Frame in R
我有一個包含大量列的數據框。 每個都是數字。
對於每一行數據,我想知道哪一列的數字最高。
非常簡單的例子:
x <- data.frame(score1 = c(10, 12, 25),
score2 = c(9, 13, 20),
score3 = c(14, 8, 8))
對於第 1 行,分數 3 最高。
對於第 2 行,score2 最高。
對於第 3 行,score1 最高。
所以我想要輸出的東西:
max_score_col_name <- c("score3", "score2", "score1")
請問有沒有簡單的方法可以做到這一點?
(我忽略了一個棘手的問題,即如果領先者有平局會發生什么,因為數據的形式不會發生這種情況)
一種選擇可能是:
names(x)[max.col(x)]
[1] "score3" "score2" "score1"
另外一個選項:
colnames(x)[apply(x, 1, which.max)]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.