Reputation: 1657
I've searched online for a while now but not really finding answers to this specific question. maybe im not using the right key words... but if there's already a thread on this question, please direct me to it!
so let's say the data looks like this:
a = 3
b = 5
now i want to find out which one is larger, so i do:
max(a,b)
this will only return me the "5", but i want it to return "b" i tried using which() but it keep saying "which is not logical" i also tried deparse() but i get a string of "5"
thanks for any help in advance!
Upvotes: 4
Views: 1496
Reputation: 2399
A basic approach to get variable name is implemented as myfunc
, everything else is concise:
myfunc <- function(v1) {
deparse(substitute(v1))
}
a=3
b=5
ifelse(max(a,b),myfunc(a),myfunc(b))
Upvotes: 0
Reputation: 1657
thanks andrewelamb for a great start on the answer. i changed the code a bit to produce the right answer i was looking for:
`a = 3
b = 5
v_name = ["a","b"]
v_name[which.max(c(a,b))]`
hope it helps anyone else who has this problem as well in the future
Upvotes: 2
Reputation: 19
a <- 5
b <- 4
vector <- c(a,b)
which.max(vector)
vector[which.max(vector)]
Upvotes: 0