gpt4 book ai didi

r - 如何检查 R 对象是否具有特定属性?

转载 作者:行者123 更新时间:2023-12-05 00:51:31 25 4
gpt4 key购买 nike

如何检查 R 对象是否具有特定属性?例如,我想检查一个向量是否具有“标签”属性。我怎样才能做到这一点?是否已经存在执行此操作的函数?

my_vector <- c(1, 2, 3)
my_vector_labelled <- `attr<-`(my_vector, "labels", c(a = 1, b = 2, c = 3))

假设有一个名为 has_attribute(x, attr) 的函数。预期的结果是:

> has_attribute(my_vector, "labels")
FALSE
> has_attribute(my_vector_labelled, "labels")
TRUE

最佳答案

两种方式:

  • %in% names(attributes(..):

    "labels" %in% names(attributes(my_vector))
    # [1] FALSE
    "labels" %in% names(attributes(my_vector_labelled))
    # [1] TRUE
  • is.null(attr(..,"")):

    is.null(attr(my_vector, "labels"))
    # [1] TRUE # NOT present
    is.null(attr(my_vector_labelled, "labels"))
    # [1] FALSE # present

    (也许 !is.null(attr(..)) 是首选?)

关于r - 如何检查 R 对象是否具有特定属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71698332/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com