我正在编写一个数据分析包。例如,主要分析函数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()
,并在完成后在此处分享。
答案 0 :(得分:0)
foo
成为一个向量级的课程(有关类似内容,请参阅?person
)。plot_list_elements(x)
,它只是遍历列表x
并绘制内容。foo_list
对象的新类foo
。然后,您可以编写plot.foo_list(...)
或您想要进行矢量化的任何其他方法(请参阅Polygons
包中的sp
了类似的内容。)for (x in my_list) plot(x)
,这不是很糟糕。