Р: Как я могу найти местоположение максимума в моем списке? - PullRequest
3 голосов
/ 16 мая 2019

Я очень новичок в использовании 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

Я хочу получить вывод, который более или менее говорит мне, что максимум (9) можно найти в [3,].Возможно ли это?

Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 16 мая 2019

Как функция max () может сделать для нас: Возвращает (обычные или параллельные) максимумы и минимумы входных значений.

Что вы пытаетесь сделать, это найти максимальное значение в вашем фрейме данных,Вместо этого вы должны попробовать функцию which.max ().То есть:

which.max(c_01$acf)

В результате получается

[1] 3

Внимание: which.max () определяет только местоположение,т. е. индекс (первого) минимума или максимума числового (или логического) вектора.Вы можете использовать следующий синтаксис, чтобы найти все максимальные значения.

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

Результат будет

[1] 3 7

1 голос
/ 16 мая 2019

Мы могли бы использовать:

paste0("Max is: ", do.call(max,c_01), " at index: ",which.max(c_01))
[1] "Max is: 9 at index: 3"

Или:

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"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...