从R中的函数读取全局环境

时间:2019-06-11 11:41:32

标签: r environment-variables

我需要访问(即读取和保存)我正在工作的环境的各项。我编写了以下函数,以将所有对象保存在我的(全局)环境中:

list.of.vars

这个想法是,如果没有使用ls()save_vars参数传递给该函数,该函数将访问调用save_vars(ls())的环境变量。但是,它仅将变量保存在函数本身的范围内。我知道我可以将函数称为{{1}}来完成工作,但是周围是否有更整洁的方式?

1 个答案:

答案 0 :(得分:0)

通过环境可能最干净:

fun <- function(envir = parent.frame()) ls(envir = envir)
fun()

这列出了调用者中的对象,但也允许用户更改使用的环境。例如,他们可以强制使用全球环境:

fun(.GlobalEnv)