r - 如何获取具有变量最大值的所有行
问题描述
我有包含两列和多行的矩阵。第一列名称是idCombinaison
,第二列名称是accuarcy
。有accuarcy
一个浮点值。
现在我想获取所有值为accuarcy == max value
. 在某些情况下(如图所示),我可以有很多行的值accuarcy
等于 max,所以我想获得所有这些行!
我试过这个:
maxAccuracy <- subset(accuarcyMatrix, accuarcyMatrix['accuarcy'] == max(accuarcyMatrix['accuarcy']))
解决方案
模拟矩阵的可重现数据:
set.seed(123)
x <- matrix(sample(1:9, 30, T), 10, 3)
row.names(x) <- 1:10
colnames(x) <- LETTERS[1:3]
# A B C
# 1 3 9 9
# 2 8 5 7
# 3 4 7 6
# ...
在矩阵对象中,您需要使用二进制方式来提取元素,例如data[a, b]
. 以上面的数据为例,x["C"]
将返回NA
并将x[, "C"]
返回 C 列中的所有元素。因此,以下两个代码将生成不同的输出。
subset(x, x["C"] == max(x["C"]))
# A B C (Empty)
subset(x, x[, "C"] == max(x[, "C"]))
# A B C
# 1 3 9 9
# 4 8 6 9
推荐阅读
- git - 如何“反转”子树子目录中的 gitignore 文件模式?
- r - 如何同时显示两个 PCA 图?
- apache-kafka - 卡夫卡消费者民意调查无限期运行并且不返回任何内容
- javascript - 单击echarts中的第一个图例时如何禁用其他图例
- java - Java第二个变量忽略了第一个
- mysql - 我如何在 laravel 中使用 1 个查询来获取 3 个不同的模式表
- python - TensorFlow 中图像分类的输入/输出形状错误
- pandas - 如何将 datetime64 对象的 pandas 列转换为年份?
- java - 在 Crawler4j Solr 中引导搜索深度
- colors - UE4:在蓝图中将字符串 HEX 颜色转换为 RGB 或 RBGA