【发布时间】:2021-12-29 23:32:16
【问题描述】:
我正在处理一些数据,我的矩阵看起来如结果所示:
results
[,1] [,2] [,3]
[1,] 1.7 0.0015 -1566.276
[2,] 1.7 0.0016 -1564.695
[3,] 1.7 0.0017 -1564.445
[4,] 1.7 0.0018 -1565.373
[5,] 1.7 0.0019 -1567.352
[6,] 1.7 0.0020 -1570.274
[7,] 1.8 0.0015 -1568.299
[8,] 1.8 0.0016 -1565.428
[9,] 1.8 0.0017 -1563.965
[10,] 1.8 0.0018 -1563.750
[11,] 1.8 0.0019 -1564.647
[12,] 1.8 0.0020 -1566.544
[13,] 1.9 0.0015 -1571.798
[14,] 1.9 0.0016 -1567.635
[15,] 1.9 0.0017 -1564.960
[16,] 1.9 0.0018 -1563.602
[17,] 1.9 0.0019 -1563.418
[18,] 1.9 0.0020 -1564.289
[19,] 2.0 0.0015 -1576.673
[20,] 2.0 0.0016 -1571.220
[21,] 2.0 0.0017 -1567.332
[22,] 2.0 0.0018 -1564.831
[23,] 2.0 0.0019 -1563.566
[24,] 2.0 0.0020 -1563.410
我想打印第 3 列出现最大值的行,所以我将其拆分为以下 2 行:
max(results[,3])
results[results[,3] == -1563.41,]
结果没有给我想要的行。 我尝试将值放在引号中:
max(results[,3])
results[results[,3] == "-1563.41",]
但这也没有用。
唯一有效的代码是当我将最大行代码嵌套在第二行代码中时:
results[results[,3] == max(results[,3]),]
有人能解释一下为什么把它分解成几个步骤不起作用吗?
我试着把它变成一个也不起作用的数据框。使用 tidyverse 包中的过滤器也不起作用。
谢谢,
【问题讨论】: