如何以编程方式定义选项

3
我正在尝试使用字符串向量编程定义选项,如下所示。但是,该选项未被定义,返回了NULL值。是否有任何最佳实践或函数可供使用?
f <- "z" 
options(f = TRUE)
getOption("z")
# returns NULL

你能进一步阐述一下吗? - Saikat Saha
1个回答

5
根据文档:
选项也可以通过提供一个命名列表作为单个未命名参数来传递。
因此,您可以这样做:
f <- list(z = TRUE)
options(f)
getOption("z")
#> [1] TRUE

或者,如果你想在问题中使用输入格式,可以使用以下函数:

prog_options <- function(...)
{
  mc <- as.list(match.call()[-1])
  names(mc) <- 
    sapply(names(mc), function(x) eval(as.name(x), envir = parent.frame()))
  options(mc)
}

以下功能得以实现:

f <- "z"
g <- "y"

prog_options(f = TRUE, g = "Yes")

getOption("z")
#> [1] TRUE

getOption("y")
#> [1] "Yes"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接