【发布时间】:2023-03-26 16:04:01
【问题描述】:
我需要从变量列表中找到最大值。但是,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”)
谢谢!
【问题讨论】:
-
我也尝试将标签添加到列表中,但标签没有被 max() 继承
-
您可以将矢量元素命名为开头,例如:
jan <- c(jan=0); feb <- c(feb=0); mar <- c(mar=0),然后final <- which.max(jan, feb, mar)也将被命名。使用names(final)访问。 -
感谢您的回复!
标签: r max variable-names