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 になります。それは役に立ちません... 代わりに返される月/変数名を取得する方法はありますか? (つまり、「10」ではなく「jan」)

ありがとうございました!

4

1 に答える 1

8

あなたは試すことができます:

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