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

R语言多次运行PLE、LE、L随机函数并存储Sum结果到向量咨询

解决方法

你之前重复调用函数未得到预期结果,核心原因是随机数生成逻辑没有封装到单次执行块中,只会在最开始运行一次生成固定值,后续重复调用不会生成新的随机结果。按以下步骤实现即可:

  1. 首先加载依赖包、定义全局固定参数(仅需执行一次)
# 加载rpert函数所属依赖包
library(mc2d)

# 全局固定参数
ID <- c(1)
MinP <- c(0.25)
MLP <- c(0.4)
MaxP <- c(0.55)
MinC <- c(1)
MLC <- c(2)
MaxC <- c(3)
confidence <- 4
  1. 封装单次模拟的计算逻辑
run_one_simulation <- function() {
  PLE <- rpert(ID, MinP, MLP, MaxP, shape = confidence)
  LE <- rbinom(ID, size = 1, prob = PLE)
  L <- rpert(ID, MinC, MLC, MaxC, shape = confidence)
  return(sum(LE * L))
}
  1. 重复执行n次,直接得到存储所有Sum结果的向量
# 自定义重复次数n,示例为100次
n <- 100
# replicate实现
sum_result_vec <- replicate(n, run_one_simulation())

# 如需用sapply实现,替换为以下代码即可
# sum_result_vec <- sapply(1:n, function(x) run_one_simulation())

执行完成后sum_result_vec就是存储了n次运行Sum结果的向量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 21:57:02