如何根据参考向量找到元素的位置(索引)?

How to find position (index) of elements based on a reference vector?

假设我有一个向量 V 的分类变量 L = c("a", "b", "c"):

V <- c("a", "a", "b", "c", "b", "c")

我想用数字对 L 的每个值进行编码,并根据此编码更新 V。

所以,新向量是:

Vnew = c(1, 1, 2, 3, 2, 3)

你能帮我吗?

我会考虑使用 factor 并提取底层数字表示。用法很简单:

as.numeric(factor(V, L))
# [1] 1 1 2 3 2 3

你可以直接使用match

match(V,L)
#[1] 1 1 2 3 2 3