You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R语言中为矩阵内二项式结果应用rtpois分布?

解决R语言矩阵替换问题

步骤说明

  • 定位矩阵A中所有值为1的元素位置
  • 从分布B中提取对应数量的元素,替换到这些位置

完整代码实现

首先确保依赖包已安装加载:

# 安装extraDistr包(首次使用时执行)
install.packages("extraDistr")
library(extraDistr)

生成原始矩阵和目标分布:

prevalence <- 0.01
A <- sapply(1:10, function(p) rbinom(50, 1, prevalence))
B <- extraDistr::rtpois(35000, 1.93, 1, 8)

执行替换操作:

# 获取A中所有1的位置索引
one_positions <- which(A == 1)
# 从B中随机抽取对应数量的数值(若无需随机,直接取前N个用B[1:length(one_positions)])
replace_vals <- sample(B, length(one_positions))
# 完成替换
A[one_positions] <- replace_vals

补充说明

  • which(A == 1) 返回矩阵A中所有1元素的线性索引,可直接用于定位修改位置
  • 替换完成后,矩阵A中原有0元素保持不变,所有1元素被替换为rtpois分布生成的数值

内容的提问来源于stack exchange,提问作者Katy Baker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 01:57:11