We need a row / column index to retrieve values ββfrom a dataset i.e.
df1[cbind(1:nrow(df1), match(v1, colnames(df1)))]
#[1] 1 4 2 5
data
v1 <- c('a','b','c','b')
df1 <- structure(list(a = c(1L, 3L, 4L, 3L), b = c(2L, 4L, 5L, 5L),
c = c(3L, 5L, 2L, 6L)), .Names = c("a", "b", "c"), class = "data.frame", row.names = c("1",
"2", "3", "4"))
source
share