R 导入S3方法而不导入整个包的正确方法是什么

R 导入S3方法而不导入整个包的正确方法是什么,r,roxygen2,R,Roxygen2,我想使用名为myPackage的包中的一个函数,名为as.data.frame.mywhateverS3class 当我查看包名称空间时,它如下所示:S3method(as.data.frame,mywhateverS3class) 我想在另一个包中使用此函数。我通常会在roxygen2中将其指定为@import myPackage,以便在另一个包中生成import(myPackage)。这很有效 但是在这种情况下,我希望不要导入整个包,而只导入S3方法。 当我指定importFrom(myPa

我想使用名为
myPackage
的包中的一个函数,名为
as.data.frame.mywhateverS3class

当我查看包名称空间时,它如下所示:
S3method(as.data.frame,mywhateverS3class)
我想在另一个包中使用此函数。我通常会在
roxygen2
中将其指定为@import myPackage,以便在另一个包中生成
import(myPackage)
。这很有效

但是在这种情况下,我希望不要导入整个包,而只导入S3方法。 当我指定
importFrom(myPackage,as.data.frame)
importFrom(myPackage,as.data.frame.mywhateverS3class)
时,由于在
myPackage
中未导出as.data.frame,并且当我键入
方法(as.data.frame)


我真的需要为此导入整个包名称空间吗?我正在查看,似乎找不到如何在不导入整个名称空间的情况下将导入限制为仅导入S3方法。有办法做到这一点吗?

这可能很棘手,因为S3方法可能依赖于包中的其他函数……在问题中,在我的例子中,泛型是在基本包中定义的,因此这不是问题。如果导入包描述,但实际上不从中导入任何内容,会发生什么?我认为从另一个包导入S3方法表就足够了,我正在使用R CMD检查以下注意事项:
导入字段中的名称空间未从中导入:'myPackage'应使用所有声明的导入。
然后只导入一个函数,任何函数,S3方法表将自动可用。看见