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

R S3 plot.list,获取新类对象列表,r,R,我正在写一个数据分析软件包。例如,主分析函数foo_fit()创建了一个类为“foo”的对象 我已经使用plot.foo()创建了一个用于打印foo对象的新方法,但是我现在希望能够将多个foo对象作为列表/向量传递到plot,并使用一个新方法处理传递的多个foo对象 是否有人知道制作“plot.list()”这样的函数是个坏主意 理想情况下,函数应该理解传递了一个列表,然后检查列表中每个对象的类 我对生成“plot.list”这样的函数的担心是,该方法将被调用用于任何列表对象,无论它是“foo”

我正在写一个数据分析软件包。例如,主分析函数foo_fit()创建了一个类为“foo”的对象

我已经使用plot.foo()创建了一个用于打印foo对象的新方法,但是我现在希望能够将多个foo对象作为列表/向量传递到plot,并使用一个新方法处理传递的多个foo对象

是否有人知道制作“plot.list()”这样的函数是个坏主意

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

我对生成“plot.list”这样的函数的担心是,该方法将被调用用于任何列表对象,无论它是“foo”还是“hclust”或“data.frame”等

更新 所以在我的本地硬盘上工作时,我注意到了一些事情。
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
  • 让用户为(我的列表中的x)绘图(x)编写
    ,这并不糟糕

  • 创建一个“傻瓜”类?或者在plot.list方法中包含对列表内容的检查。这在某种程度上是一般的想法,但是foo_list的方法会有所不同