提取函数参数的预定义值

Extract predefined values for an argument of a function

我想为函数的特定参数提取一组值。

为了演示问题,我有一个函数

 myFUN <- function (x, y, method = c("top", "down", "left", "right")) {}

我想从参数 'method'.[=18 中提取值“top”、“down”、“left”、“right” =]

我已经能够使用 argsmatch.call

提取参数
as.list(args(myFUN))$method

which returns,字面意思是字符串 c("top", "down", "left", "right").

现在如何获取双引号 " 之间的所有值?我能否以某种方式将字符串 c("top", "down", "left", "right") 解析为一个变量作为向量,以获得 "top", "down", "left", "right"?

或者是否有更好的方法从函数中提取参数?

您可以使用 eval 来获取向量。

eval(formals(myFUN)$method)
#eval(as.list(args(myFUN))$method) #Alternative
#[1] "top"   "down"  "left"  "right"