Идентификация столбца с наибольшим значением Numeri c во фрейме данных в R - PullRequest
1 голос
/ 02 марта 2020

У меня есть фрейм данных с большим количеством столбцов. Каждая цифра c.

Для каждой строки данных я хотел бы знать, в каком столбце содержится наибольшее число.

Очень простой пример:

x <- data.frame(score1 = c(10, 12, 25),
                score2 = c(9, 13, 20),
                score3 = c(14, 8, 8))

Для строки 1 балл 3. самый высокий.

Для строки 2 балл 2. самый высокий.

Для строки 3 балл 1. самый высокий.

Так что я бы хотел что-то что выводит:

max_score_col_name <- c("score3", "score2", "score1")

Есть ли простой способ сделать это, пожалуйста?

(Я проигнорировал хитрый вопрос о том, что произойдет, если в ie для лидерства, потому что данные в такой форме, что этого не произойдет)

Ответы [ 2 ]

4 голосов
/ 02 марта 2020

Один из вариантов может быть:

names(x)[max.col(x)]

[1] "score3" "score2" "score1"
0 голосов
/ 02 марта 2020

другой вариант:

colnames(x)[apply(x, 1, which.max)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...