是否有一个 R 函数可以测试多个指定对象的存在?
Posted
技术标签:
【中文标题】是否有一个 R 函数可以测试多个指定对象的存在?【英文标题】:Is there a R function that tests for existence of more than one specified objects? 【发布时间】:2020-03-01 06:31:38 【问题描述】:所以我知道在 R 中,有 exists()
可以判断环境中是否存在对象。
我想测试的是多个对象的存在,比如 R 中的a, b, c
。
是否有一个函数可以在 R 中执行类似 exists(c('a','b','c'))
之类的操作并在任何一个对象不存在时返回 FALSE?
谢谢!
【问题讨论】:
【参考方案1】:你可以像这样编写自己的函数:
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
【讨论】:
【参考方案2】:您可以使用ls()
来检查对象是否存在于环境中。
a <- 1
b <- 2
all(c('a', 'b', 'c') %in% ls())
#[1] FALSE
all(c('a', 'b') %in% ls())
#[1] TRUE
【讨论】:
以上是关于是否有一个 R 函数可以测试多个指定对象的存在?的主要内容,如果未能解决你的问题,请参考以下文章