如何在R中调用由match.call()生成的call对象?
如何执行match.call()返回的call对象
在R中,要重复执行由match.call()生成的call对象,直接使用eval()函数就能实现,它会解析并运行这个调用表达式。
操作示例:
假设你的函数已经返回了目标call对象,并将其赋值给变量my_call:
# 示例:假设这是你从函数中获取到的call对象 my_call <- build_model.kd_data(data = kd_data, optimizer = optimizer_rmsprop(), loss = loss_poisson)
只需执行以下代码,就能等效重复原函数调用:
eval(my_call)
注意事项:
- 确保
my_call中涉及的变量(比如kd_data)和函数(比如optimizer_rmsprop())在当前环境中可用,否则会报错。 - 如果原调用中的参数后续被修改,
eval(my_call)会使用修改后的参数值执行,结果会和原调用不同。
内容的提问来源于stack exchange,提问作者jackahall
相关产品推荐
相关产品推荐

