R - Как получить max(), чтобы вернуть имена переменных вместо содержимого переменных?

Мне нужно найти максимальное значение из списка переменных. Однако max() возвращает содержимое переменной вместо имени переменной. Есть ли способ получить имя вместо контента?

Быстрый пример кода:

jan <- 0
feb <- 0
mar <- 0

#for testing purposes - just select a random month and add 10
s1 <- sample(1:3, 1)
if (s1==1) {
  jan <- jan + 10
}
if (s1==2) {
  feb <- feb + 10
}
if (s1==3) {
  mar <- mar + 10
}

final <- max(jan, feb, mar)

final

Результат от этого всегда будет 10. Это не полезно... Есть ли способ получить вместо этого имя месяца / переменной? (то есть "Ян" вместо "10")

Спасибо!

1 ответ

Решение

Вы можете попробовать:

 c("jan", "feb", "mar")[which.max(c(jan, feb, mar))]
 #[1] "jan"
Другие вопросы по тегам