簡體   English   中英

在 R 中識別數據幀中具有最高數值的列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM