设置类属性时,R列表类不起作用?

时间:2016-07-22 14:32:40

标签: r subclass

R中的某些类(列表list())没有类属性,但函数列表isinherits无论如何都适用于它们:

> x <- list()
> is(x, "list")
[1] TRUE

但是,当设置class属性时,这将停止工作:

> attr(x, "class")
NULL
> attr(x, "class") <- "myListSubclass"
> x
list()
attr(,"class")
[1] "myListSubclass"
> is(x, "list")
[1] FALSE
> inherits(x, "list")
[1] FALSE

设置class属性使得处理类的这些普通函数停止工作。

有没有办法在R中扩展像list这样的类来获得正确的行为? (也许在class属性中包含list?还是会有其他问题?)

使用I()时这也是一个问题。结果列表包含AsIs类属性,因此isinherits等不起作用。什么是最好的解决方案? (这是一个错误吗?)

0 个答案:

没有答案