Есть ли лучший способ, чтобы получить индекс минимуму?


Рассмотрим следующий воспроизводимый пример:

# note that lh is a standard ts dataset that ships with R 
lh
# fit an R model   
ar.mle<-ar(lh,method="mle")

# now get the min AIC, this is the relevant line:
ar.mle$aic[ar.mle$aic==min(ar.mle$aic)]

Это прекрасно работает и возвращает наименьшее значение АПК и его индекс, что предложенный порядок АР. Я чувствую, что я повторяюсь в этой последней строке кода. Есть более простой способ получить индекс и значение? Я знаю, что я мог бы использовать частных автокорреляций, чтобы определить уровень,. Это не вопрос статистики, а р индексирования вопрос.



303
5
r
задан 12 августа 2011 в 08:08 Источник Поделиться
Комментарии
2 ответа

возможно, функция, которая.мин() будет делать трюк?

which.min(ar.mle$aic)

он не будет сократить ваш код все, что много:

ar.mle$aic[which.min(ar.mle$aic)]

13
ответ дан 12 августа 2011 в 08:08 Источник Поделиться

Ну, это действительно не возвращает индекс и значение, что вы получаете-это именованное значение.

> ans <- ar.mle$aic[which.min(ar.mle$aic)]
> names(ans)
[1] "3"

Сам индекс на самом деле 4 (и-целое число); Р индексы от 1 года.

> which.min(ar.mle$aic)
3
4
> which.min(ar.mle$aic) == 4
3
TRUE

(да, эта идея мечения имена ценностей-это довольно странно, исходя из любой другой язык)

1
ответ дан 12 августа 2011 в 08:08 Источник Поделиться