在 R 中,我有一个索引 (A) 和值 (B) 的向量。 R 中将 A 和 B 扩展到 C 的有效(最好是并行)方法是什么,其中 C 是 B 中位于 A 的索引中的值?
例子:
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)
蛮力方法是一个 for 循环,这不是我想要的。
最佳答案
这是一种方法-
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
哪里vec <- numeric(max(A))
初始化一个长度为 max(A)
的数值向量在这个例子中是 20。
https://stackoverflow.com/questions/71367192/