R - 将列表映射到数据框

时间:2015-11-27 07:52:53

标签: r dataframe

我有一个元素列表,我想根据数据框找到映射元素。

输入:

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

1 个答案:

答案 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的元素。