尝试访问树时S4对象错误

时间:2015-03-30 03:03:38

标签: r s4 party

我收到此错误:

> mod1 <- ctree(Age ~ Kyphosis, data = kyphosis)
> tree.size(mod1@tree)
Error in tree.size(mod1@tree) : 
  trying to get slot "tree" from an object (class "constparty") that is not an S4 object

这里,tree.size定义为:

> tree.size
function(tree) {
  if (is.null(tree)) {
    return(0)
  } else {
    return(1 + tree.size(tree$left) + tree.size(tree$right))
  }
}

如何摆脱此错误以及为什么会发生错误?

1 个答案:

答案 0 :(得分:0)

您正在使用需要S4对象的@ -operator。 我猜,ctree()返回一个S3对象而不是S4。在这种情况下,$ -operator是合适的(在tree.size中使用)。