从两个匹配列的行索引创建新向量

Joh*_*lee 2 r data-manipulation subset match

我有一个数据框:

a <- c(1,2,3,4,5,6)

b <- c(1,2,1,2,1,4)

c <- c("A", "B", "C", "D", "E", "F")

df <- data.frame(a,b,c)
Run Code Online (Sandbox Code Playgroud)

我想要做的是创建另一个向量d,其中包含c行中a与每个值匹配的值b

所以我的新矢量看起来像这样:

d <- c("A", "B", "A", "B", "A", "D")
Run Code Online (Sandbox Code Playgroud)

作为一个例子,的最终值b就是4,其与第4行匹配a,所以值d是的第四行c,这是"D".

jas*_*ner 8

如果ab都是具有整数值的列表,则可以直接使用它们.

d <- c[b[a]]
d
[1] "A" "B" "A" "B" "A" "D"
Run Code Online (Sandbox Code Playgroud)

如果a是沿c的常规整数序列,则可以简单地从b调用c.

c[b]
[1] "A" "B" "A" "B" "A" "D"
Run Code Online (Sandbox Code Playgroud)