R S3 plot.list,获取新类对象列表
我正在写一个数据分析软件包。例如,主分析函数foo_fit()创建了一个类为“foo”的对象 我已经使用plot.foo()创建了一个用于打印foo对象的新方法,但是我现在希望能够将多个foo对象作为列表/向量传递到plot,并使用一个新方法处理传递的多个foo对象 是否有人知道制作“plot.list()”这样的函数是个坏主意 理想情况下,函数应该理解传递了一个列表,然后检查列表中每个对象的类 我对生成“plot.list”这样的函数的担心是,该方法将被调用用于任何列表对象,无论它是“foo”还是“hclust”或“data.frame”等 更新 所以在我的本地硬盘上工作时,我注意到了一些事情。R S3 plot.list,获取新类对象列表,r,R,我正在写一个数据分析软件包。例如,主分析函数foo_fit()创建了一个类为“foo”的对象 我已经使用plot.foo()创建了一个用于打印foo对象的新方法,但是我现在希望能够将多个foo对象作为列表/向量传递到plot,并使用一个新方法处理传递的多个foo对象 是否有人知道制作“plot.list()”这样的函数是个坏主意 理想情况下,函数应该理解传递了一个列表,然后检查列表中每个对象的类 我对生成“plot.list”这样的函数的担心是,该方法将被调用用于任何列表对象,无论它是“foo”
foo
本身就是一个列表。对于这个例子,假设它是一个三个的列表,这样当您调用names(foo1)
时,它会返回“data”、“parameters”、“residuals”。因此,传递plot(x=c(foo1,foo2))
x现在是一个6的列表。因此,为了获得所需的结果,我将始终需要以以下格式传递对象plot(x=list(foo1,foo2))
。这不是世界末日,但有点令人恼火
我正在制作一个通用的plot.list()
,完成后在这里分享
foo
成为一个向量类(有关类似的内容,请参见?person
)plot\u list\u elements(x)
,该函数只在列表x
中循环并打印内容foo
对象的新类foo\u list
。然后,您可以编写plot.foo_list(…)
或任何其他类型的矢量化方法(有关类似内容,请参阅sp
包中的Polygons
),这并不糟糕
创建一个“傻瓜”类?或者在plot.list方法中包含对列表内容的检查。这在某种程度上是一般的想法,但是foo_list的方法会有所不同