首页 > 解决方案 > R match.call:如何将变量传递给这个函数?

问题描述

我正在使用osqp包,其中有一个osqpSettings函数,可以在那里找到代码(如果需要,您可以在不安装包的情况下运行此代码,结果是相同的)。来电:

osqpSettings(verbose = TRUE)

或者 :

osqpSettings(verbose = FALSE)

按预期工作。

但是调用其中任何一个:

my_verbose = TRUE
osqpSettings(verbose=my_verbose)
osqpSettings(verbose=1>0)
osqpSettings(verbose=eval(1>0))
osqpSettings(verbose=eval(my_verbose))

不适用于以下错误:

Error in checkpar(inpars[[nm]], defaultOsqpSettings[[nm]]) : 
  l'objet 'pairlist' ne peut être converti automatiquement en un type 'logical'
Called from: checkpar(inpars[[nm]], defaultOsqpSettings[[nm]])

(法语部分翻译为“对象不能自动转换为类型”)。我怀疑这是match.call()该函数使用的方法,它的参数中不接受代码。我如何将变量作为参数传递(如果if(my_verbosity)...不调用函数)。

标签: r

解决方案


推荐阅读