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

在 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/

相关文章:

ruby-on-rails - 安装带有 native 扩展 Gem::Ext::BuildErro

r - 在列 R 中包含列表元素

kubernetes - 在 WSL2 中安装 Minikube 集群时无法访问已部署的服务

node.js - 在 Vue JS 项目上运行 npm run server 时出现错误

python - 从现有数据框中列的子字符串创建新的 Pyspark 数据框

r - 在 R 中每月计算唯一值

javascript - React.js,列表中的每个 child 都应该有一个唯一的 "key"

amazon-web-services - 如何放弃 AWS lambda 函数内联编辑器中的更改?

npm - 如何在计算机之间迁移已安装的 npm 包?

azure-functions - VS2022 无法创建 Azure Functions 项目