R:如何在清单中找到最大值的位置?

时间:2019-05-16 11:22:24

标签: r list

我对使用R非常陌生,因此如果我提出非常明显的问题或使用错误的术语,请提前道歉。希望您仍然能够为我提供帮助。     我有一个值列表,不仅要查找最大值(即列表中的最大值),还要查找此最大值位于哪个位置/数据点。

例如这是名为c_01的列表:

[1,] 3
[2,] 5
[3,] 9
[4,] 4
[5,] 8
[6,] 7
[7,] 9
[8,] 7
[9,] 4
[10,] 3

我已经尝试过使用代码

max(c_01$acf)

但是输出始终是

[1] 9

我想获得一个或多或少告诉我的输出,可以在[3,]处找到最大值(9)。这可能吗?

提前谢谢!

2 个答案:

答案 0 :(得分:1)

我们可以使用:

c(do.call(max,c_01),
   paste("index: ",which(my_list==do.call(max,c_01),arr.ind = T)))
[1] "9"         "index:  3" "index:  7"

或者:

int floodFill(vector<vector<sf::RectangleShape>>**&** image, int sr, int sc, sf::Color newColor)

答案 1 :(得分:0)

max()函数如何为我们做:返回输入值的(常规或并行)最大值和最小值。

您要尝试的是在数据框中找到最大值。您应该尝试改用which.max()函数。那就是:

which.max(c_01$acf)

结果变为

  

[1] 3

警告:which.max()仅确定位置,即数字(或逻辑)向量的(第一个)最小值或最大值的索引。您可以尝试使用以下语法来查找所有最大值。

which(c_01$acf == max(c_01$acf))

结果将是

  

[1] 3 7