如何以编程方式定义选项

Jos*_*asa 3 r

我正在尝试使用如下所示的字符串向量以编程方式定义选项。但是,该选项没有被定义,它返回一个 NULL 值。是否有任何最佳实践或功能?

f <- "z" 
options(f = TRUE)
getOption("z")
# returns NULL
Run Code Online (Sandbox Code Playgroud)

All*_*ron 5

根据文档:

也可以通过提供一个未命名的参数来传递选项,该参数是一个命名列表

所以你可以做

f <- list(z = TRUE)
options(f)
getOption("z")
#> [1] TRUE
Run Code Online (Sandbox Code Playgroud)

或者,如果您希望能够在问题中使用输入格式,则可以使用以下函数:

f <- list(z = TRUE)
options(f)
getOption("z")
#> [1] TRUE
Run Code Online (Sandbox Code Playgroud)

这允许以下内容:

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

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

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

getOption("y")
#> [1] "Yes"
Run Code Online (Sandbox Code Playgroud)