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

R语言如何重复运行代码并将每次迭代输出存入同一DataFrame

代码修正与需求实现方案

步骤1:修改自定义函数返回值

你现有代码的getValue()函数当前返回的是变量i,和你需要留存的per_metrics无关,先调整返回逻辑:

getValue <- function() {
    # 原有噪声生成、dp变量计算逻辑保持不变
    mae <- mae(dp$true_norm, dp$dp_threshold_norm)
    rmse <- rmse(dp$true_norm, dp$dp_threshold_norm)
    # 给指标向量加命名,后续生成DataFrame时自动识别列名
    per_metrics <- c(mae = mae, rmse = rmse)
    # 返回你需要留存的per_metrics
    return(per_metrics)
}

步骤2:执行10次迭代并汇总为DataFrame

利用R原生replicate函数实现指定次数的重复运行,再把返回结果转成DataFrame即可:

# 重复运行10次,转置后每行对应1次迭代的指标结果
metrics_matrix <- t(replicate(n = 10, expr = getValue()))
# 转换为DataFrame格式
final_result <- as.data.frame(metrics_matrix)
# 可选:新增迭代次数字段,方便后续追溯
final_result$iteration <- 1:10

效果说明

  • 重复运行逻辑由replicate直接实现,你内置的rlaplace()噪声机制会保证每次迭代得到不同结果,不需要额外调整随机逻辑
  • 最终生成的final_result是10行的DataFrame,每行对应一次迭代的per_metrics结果,包含mae、rmse两个指标(加迭代次数字段后为3列),符合汇总需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 19:54:05