我已经在线搜索了一段时间,但没有真正找到这个具体问题的答案。 也许我没有使用正确的关键词......但如果这个问题上已经有了一个主题,请指导我!
所以,让我们说数据看起来像这样:
a = 3
b = 5
现在我想知道哪一个更大,所以我这样做:
max(a,b)
这只会让我回复" 5"但我想让它返回" b" 我尝试使用哪个()但它继续说"这不合逻辑" 我也尝试了deparse(),但我收到一串" 5"
提前感谢您的帮助!
答案 0 :(得分:2)
感谢andrewelamb在答案上取得了很好的开端。 我改变了一些代码以产生我正在寻找的正确答案:
`a = 3
b = 5
v_name = ["a","b"]
v_name[which.max(c(a,b))]`
希望它能帮助将来遇到此问题的其他人
答案 1 :(得分:0)
A basic approach to get variable name实现为myfunc
,其他一切都很简洁:
myfunc <- function(v1) {
deparse(substitute(v1))
}
a=3
b=5
ifelse(max(a,b),myfunc(a),myfunc(b))
答案 2 :(得分:-1)
a <- 5
b <- 4
vector <- c(a,b)
which.max(vector)
vector[which.max(vector)]