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

查找对向量元素逐次应用指定表达式的非apply族R函数

答案

你要找的是 R 基础库内置的 Reduce() 函数,开启 accumulate = TRUE 参数即可实现你描述的全部效果。

你描述的迭代逻辑属于累积折叠运算,Reduce() 不属于 apply 系列函数,完全匹配你提到的参数和运行规则:

  • 支持两种调用形式:仅传入向量与二元表达式、额外指定初始值
  • 不指定初始值时,首先将表达式应用到向量前两个元素,再将每一步的运算结果和下一个元素代入表达式循环计算
  • 指定初始值时,优先将初始值和向量第一个元素代入表达式开始迭代
  • 开启 accumulate = TRUE 会返回所有中间步骤的运算结果,关闭则仅返回最终迭代结果

对应你给出的示例,调用代码如下:

Reduce(f = "+", x = c(1, 2, 0, 3), init = 0, accumulate = TRUE)

运行输出为:1 3 3 6,和你给出的示例结果完全一致。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 15:39:03