4

我需要从变量列表中找到最大值。但是,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。这没有帮助......有没有办法让月份/变量名改为返回?(即“jan”而不是“10”)

谢谢!

4

1 回答 1

8

你可以试试:

 c("jan", "feb", "mar")[which.max(c(jan, feb, mar))]
 #[1] "jan"
于 2014-10-19T08:19:47.297 回答