I have a dataframe asd
. I need to get values in column b based on matching values in another vector
asd <- data.frame(a = c("a","b", "c"), b = c(1,3,4), c = c("g", "f", "h"))
sel_val <- c("a", "c")
asd$b[asd$a == sel_val]
[1] 1
Warning message:
In asd$a == sel_val :
longer object length is not a multiple of shorter object length
Expected output
[1] 1 4
CodePudding user response:
You will want to match what values of asd$a
are in sel_val
:
asd[asd$a %in% sel_val,]$b
CodePudding user response:
With match
:
asd$b[match(sel_val, asd$a)]
#[1] 1 4