【发布时间】:2019-02-23 13:32:27
【问题描述】:
背景
我正在查看 Romain François 提出的 jazz 包。 Romain 定义了一个函数is_bare_vector,语法如下:
is_bare_vector <- function(x) {
is_vector(x) && !is.object(x) && is.null(attr(x, "class"))
}
问题
发给:x <- 1:
attr(x, "class")
# NULL
鉴于:
class(x)
# [1] "numeric"
我想了解为什么这两个函数会提供不同的答案??attr 上的帮助参考了?class
?attr
注意一些属性(即
class、comment、dim、dimnames、names、row.names和tsp) 被特殊对待并有限制 关于可以设置的值。 (请注意,这不适用于级别 应通过水平替换功能为因子设置。)
?class
许多 R 对象都有一个类属性,一个字符向量给出 对象继承的类的名称。 (职能
oldClass和oldClass<-获取和设置属性,也可以是 直接完成。)
【问题讨论】: