【问题标题】:Is there a R function that tests for existence of more than one specified objects?是否有一个 R 函数可以测试多个指定对象的存在?
【发布时间】:2020-03-01 06:31:38
【问题描述】:

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

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

是否有一个函数可以在 R 中执行类似 exists(c('a','b','c')) 之类的操作并在任何一个对象不存在时返回 FALSE?

谢谢!

【问题讨论】:

    标签: r object exists


    【解决方案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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多