r - 在R中的数据框中识别具有最高数值的列
问题描述
我有一个包含大量列的数据框。每个都是数字。
对于每一行数据,我想知道哪一列的数字最高。
非常简单的例子:
x <- data.frame(score1 = c(10, 12, 25),
score2 = c(9, 13, 20),
score3 = c(14, 8, 8))
对于第 1 行, score3 最高。
对于第 2 行, score2 最高。
对于第 3 行, score1 最高。
所以我想要输出的东西:
max_score_col_name <- c("score3", "score2", "score1")
请问有没有简单的方法可以做到这一点?
(我忽略了一个棘手的问题,即如果领先者出现平局会发生什么,因为数据的形式不会发生这种情况)
解决方案
一种选择可能是:
names(x)[max.col(x)]
[1] "score3" "score2" "score1"
推荐阅读
- spring-kafka - 在 Spring-Kafka 中,我们是否有任何监听器或拦截器在每次重试尝试时被调用?
- python - 如何在运行时检查 TypeVar 的类型
- ios - 名为“textFieldShouldReturn(textField:)”的方法的返回值有什么区别?
- javascript - 如何异步运行函数?
- javascript - 如何获取从 API 中提取的数据中的值的键?
- javascript - 如何使用 API 使谷歌地址自动填充,用数字和街道替换完整地址?
- python - Python Unittest 用参数模拟函数
- windows - 你能看出我不匹配的块嵌套在哪里出错了吗?我好像看不出来?MASM
- python - 为什么可嵌入的 Python 发行版无法定位原生模块?
- python - 使用反向传播算法进行分类