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

在R中用未定义变量保存计算,source调用出错如何解决?

问题解决:source脚本时出现“Object 'a' not found”错误

错误原因

你当前的写法会让R在source脚本时立即执行计算,但此时你的工作环境中还没有定义a、b、c、d、e、f这些变量,所以触发“找不到对象”的错误。而Apollo需要的是效用函数的表达式结构,不是提前计算好的数值结果。

解决办法

不需要提前计算结果,而是把效用函数的表达式以未求值的形式保存,让Apollo在运行时自行解析计算:

方法1:用quote()保留表达式结构

修改脚本中的代码为:

calculation = quote(
  a*b + 
  c*d + 
  e*f
)

quote()会保留表达式的原始结构,不会立即求值,Apollo运行时会在包含数据变量的环境中解析这个表达式。

方法2:保存为字符串形式(部分Apollo场景支持)

如果Apollo接受字符串格式的效用函数,也可以写成:

calculation = "a*b + c*d + e*f"

这种写法同样不会在source时触发计算,Apollo会自动解析字符串中的表达式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 05:05:16