将对象强制为特定于包的新类

时间:2018-06-27 11:24:55

标签: r

我有一个来自函数iNEXT ::: iNEXT的三个对象的列表。输出是类“ iNEXT”的列表: enter image description here

然后我想将此列表作为子集:

april <- list(out.all[[1]][1:59,], out.all[[2]][1:59], out.all[[3]][1:177,])

使用相同类型的对象创建一个列表,但是丢失了“ iNEXT”类: enter image description here

为类“ iNEXT”的对象创建的任何后续函数都将失败,例如:

ggiNEXT(april, ...)
Error: iNEXT doesn't know how to deal with data of class list

。我试图用april强迫as()到类iNEXT

> as(april, iNEXT)
Error in is(object, Class) : 
  trying to get slot "className" from an object of a basic class ("function") with no slots
> as(april, "iNEXT")
Error in as(april, "iNEXT") : 
  keine Methode und kein Standard um “list” in “iNEXT” umzuwandeln

(德语中没有“将“列表”强制转换为“ iNEXT”的方法或默认方法)

有没有办法做到这一点?我什至无法弄清楚“ iNEXT”类的属性对象具有什么。很抱歉没有发布可复制的示例,在这种情况下这将非常困难。

1 个答案:

答案 0 :(得分:0)

我通过查看iNEXT ::: INEXT函数发现了它。

class(april) <- c("iNEXT")

是必需的。 如果有人可能遇到相同的问题,我就把它留在这里。