我是 R 的新手。
我正在尝试定义一个类似于树节点的类,即它有一个左节点和右节点,它们应该与父节点属于同一类。所以我定义类如下:
setClass('Node', representation=(left='Node',right='Node', ...))
我想通过设置原型(prototype)将 Node 的默认值设置为 NULL,但 R 表示如下:
invalid class "Node" object: invalid object for slot "left" in class "bicluster": got class "NULL", should be or extend class "Node"
但是如果我没有将默认值指定为 NULL,那么默认值将是深度为 4 的递归节点,我认为这会浪费资源。
我的考虑是不必要的还是有更好的方法呢?
最佳答案
有一次您需要使用 setClassUnion("listOrNULL",members=c("list", "NULL"))
将 NULL 放入定义为列表的插槽中。我认为这是一个可用的类(class)。当您的设置不完整时无法测试,但定义父类(super class)“NodeOrNull”可能会让您越过最初的障碍。
关于r - 如何在R中将插槽的默认值设置为NULL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7466388/