我正在开发一个提供名为“Foo”的 S3 类的包。它还提供了一种“as”方法,用于将其强制为(其他人的)名为“Bar”的 S4 类。我的代码如下所示:
#' ...
setOldClass("Foo")
#' ...
setAs("Foo", "SpatialPointsDataFrame", function(from) {
# do stuff and return a SpatialPointsDataFrame
})
编辑我试过这个:
#' ...
#' @name as
#' @export
setAs("Foo", "SpatialPointsDataFrame", function(from) {
# do stuff and return a SpatialPointsDataFrame
})
但后来我从 R CMD CHECK 得到这个:
检查名称空间是否可以加载声明的依赖项...警告 namespaceExport(ns,exports) 中的错误:未定义的导出:as 调用:loadNamespace -> namespaceExport 执行暂停
命名空间必须能够只加载基本命名空间:否则如果命名空间被保存的对象加载,会话将无法启动。
可能需要在 NAMESPACE 文件中声明一些导入。
在一个单独的 .R 文件中,我有:
#' @importClassesFrom sp SpatialPointsDataFrame
我正在使用 hadley 的 devtools 包,所以我猜它是 roxygen2。这就是我所做的:
R> document("MyPackage")