一种有效扩展R向量的方法

Nae*_*vis 2 r

在 R 中,我有一个由索引 (A) 和值 (B) 组成的向量。R 中将 A 和 B 扩展到 C 的有效(最好是并行)方法是什么?其中 C 是位于 A 索引中的 B 中的值?

例子:

A = c(4, 7, 11, 20)

B = c(11, 14, 22, 3)

C = c(0,0,0,11,0,0,14,0,0,0,22,0,0,0,0,0,0,0,0,3)
Run Code Online (Sandbox Code Playgroud)

蛮力方法是一个 for 循环,这不是我想要的。

Ron*_*hah 8

这是一种方法 -

vec <- numeric(max(A))
vec[A] <- B
vec
#[1]  0  0  0 11  0  0 14  0  0  0 22  0  0  0  0  0  0  0  0  3
Run Code Online (Sandbox Code Playgroud)

其中初始化一个长度为 20 的vec <- numeric(max(A))数值向量。max(A)