是否有一个 R 函数可以测试多个指定对象的存在?

Is there a R function that tests for existence of more than one specified objects?

所以我知道在 R 中,有 exists() 可以判断一个对象是否存在于环境中。

虽然我想测试的是多个对象的存在,比如 a, b, c 在 R 中。

是否有一个函数可以在 R 中执行类似 exists(c('a','b','c')) 和 return FALSE 的功能(如果任何一个对象不存在)?

谢谢!

您可以使用ls() 来检查对象是否存在于环境中。

a <- 1
b <- 2

all(c('a', 'b', 'c') %in% ls())
#[1] FALSE

all(c('a', 'b') %in% ls())
#[1] TRUE

你可以这样写你自己的函数:

exists.m <- function(x) {
  all(sapply(x, exists))
}


exists.m(c("mean", "sd"))
[1] TRUE

否则,更方便的方法是使用 ... 作为函数中的参数。

exists.m <- function(...) {
  ls <- list(...)
  all(sapply(ls, exists))
}

exists.m("mean", "sd")
[1] TRUE