我有一个元素列表,我想根据数据框找到映射元素。
输入:
n = c(3, 2, 5)
a = c(2, 3, 5)
b = c("a", "b", "c")
df = data.frame(a, b)
如何根据数据框c("b", "a", "c")
返回映射元素列表df
?
答案 0 :(得分:1)
您可以使用match
:
df$b[match(df$a,n)]
# [1] "b" "a" "c" # if you specified stringsAsFactors=FALSE in df creation
如果在df创建中未指定stringsAsFactors=FALSE
,则输出将为
[1] b a c
Levels: a b c
答案解释:match
将给出“匹配”(即等于)a
的数字的n
列的索引。然后,您只需按指定的顺序选择列b
的元素。