S3 plot.list获取新类对象列表

时间:2018-06-01 18:28:23

标签: r

我正在编写一个数据分析包。例如,主要分析函数foo_fit()创建一个带有类" foo"的对象。

我已经创建了一个用plot.foo()绘制foo对象的新方法,但是我现在希望能够将多个foo对象作为列表/向量进行绘制并使用一种新方法来处理一个foo对象被传递。

是否有人能够了解是否制作了类似" plot.list()"的功能。会是一个坏主意。

理想情况下,函数会理解传递了一个列表,然后检查列表中每个对象的类。

我对制作类似" plot.list"等功能的关注是否会为任何列表对象调用该方法,无论它是" foo"或" hclust"或" data.frame"等

更新

所以在我的本地驱动器上工作时我注意到了一些事情。  foo本身就是一个列表。对于这个例子,我们可以说它是一个三个列表,当你打电话给names(foo1)时,它会返回"数据","参数","残差"。因此传递plot(x = c(foo1, foo2)) x现在是6的列表。因此,为了得到我想要的结果,我将始终需要以下列格式plot(x = list(foo1,foo2))传递对象。这不是世界末日,但有点刺激。

我正在制作一名将军plot.list(),并在完成后在此处分享。

1 个答案:

答案 0 :(得分:0)

  1. foo成为一个向量级的课程(有关类似内容,请参阅?person)。
  2. 提供一个函数plot_list_elements(x),它只是遍历列表x并绘制内容。
  3. 创建一个包含多个foo_list对象的新类foo。然后,您可以编写plot.foo_list(...)或您想要进行矢量化的任何其他方法(请参阅Polygons包中的sp了类似的内容。)
  4. 让用户写下for (x in my_list) plot(x),这不是很糟糕。