【发布时间】:2016-08-31 12:13:35
【问题描述】:
如何在另一个 R 包中使用/维护与 S4 类同名的 S4 类?
我正在编写一个包含名为“FeatureSet”的 S4 类的大型 R 包。不幸的是,这也是广泛使用的“oligo”包中的虚拟 S4 类的名称。当我先加载我的包,然后是oligo,然后调用
new("FeatureSet")
我得到了错误
Error in new("FeatureSet") :
trying to generate an object from a virtual class ("FeatureSet")
在 NAMESPACE 文件中,我尝试包含“exportClasses”和“exportClassPattern”以从我的包中导出此 S4 定义或所有 S4 定义,但没有成功。我也加入了
exportMethods(coerce, initialize, show)
因为我已经在我的包中为这些泛型定义了方法。
当附加多个具有相同名称的定义时,是否有最佳实践方法来编写 R 代码以仅识别特定的 S4 定义?当然,我可以给我的班级起一个不同的名字,但必须有某种方法来确保我的班级将来不会与其他包中的班级发生冲突。我花了很长时间浏览通常的论坛和文档,并惊讶地发现这个问题在任何地方都没有得到回答。提前致谢!
【问题讨论】:
标签: r namespaces s4