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

如何计算R函数输出的1000个MLE的均值方差并整合入原函数

实现方案

原函数返回的1000个optimise计算结果中,每个结果的maximum字段就是我们需要的泊松参数θ的MLE值,提取该字段后做统计计算即可,修改后的完整代码如下:

f2d = function(n){
  fun = function(y){
    optimise(
      function(theta){ sum(dpois(y, theta, log = TRUE)) }, 
      interval = c(0,50), 
      maximum = TRUE
    )$maximum # 直接提取MLE值,过滤无关输出
  }
  # 生成1000组样本量为n的泊松样本
  x = replicate(1000, rpois(n, 10))
  # 批量计算所有样本的MLE
  mle_all = apply(x, 2, fun)
  # 计算均值和方差,返回命名结果
  return(list(
    均值 = mean(mle_all),
    方差 = var(mle_all)
  ))
}

调用f2d(5)即可直接得到两个结果,输出示例如下:

> f2d(5)
$均值
[1] 10.0214

$方差
[1] 1.9876

如果需要返回向量格式的结果,把return部分替换为return(c(均值 = mean(mle_all), 方差 = var(mle_all)))即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 00:36:03