r - 从另一个包导入 S3 泛型

标签 r

我正在编写一个基于 ggplot2 包中的 autoplot() 泛型的包。目前,我有一个名为 breg() 的函数,它充当类 breg 的构造函数;可以使用 autoplot.breg() 绘制其输出。在我的 breg() 函数中,我的 Roxygen 命令如下:

#' @export breg

然后在 autoplot.breg() 我有

#' @import ggplot2
#' @importFrom ggplot2 autoplot
#'
#' @method autoplot breg
#' @export

如果我要导入整个 ggplot2,我不相信我需要 @importFrom ggplot2 autoplot。但是我离题了,在我的 NAMESPACE 文件中

S3method(autoplot,breg)
export(breg)
import(ggplot2)
importFrom(ggplot2,autoplot)

我的问题是,为什么我仍然有以下警告信息:

Warning message:
In setup_ns_exports(pkg, export_all) :
  Objects listed as exports, but not present in namespace: autoplot

最佳答案

@importFrom package generic 如果您已经有 @import package,则不需要声明。

检查 @export 字段对于避免错误至关重要!

此外,具有非常规类名(例如 data.frame)的函数,其中包含一个点,可能需要显式的 @export generic class 声明,因为它在其他方面是不明确的,你的意思是: @export breg data.frame@export breg.data frame

关于r - 从另一个包导入 S3 泛型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28581956/

相关文章:

r - 删除 NA 并使用牛津逗号的跨列串联

r - 依赖项 ‘Rglpk’ 不可用于程序包 ‘fPortfolio’

R 传单 RStudio Viewer 空白(灰色)贴图 [Windows 7]

r - 在 R 中的 highcharts 条形图中排序堆叠

r 为 ggplot2 安装色彩空间时出错

r - 如何让 R 的 loess 和 R 的 lowess 函数给出相同的结果?

r - As.vector 不会将 data.frame 子集转换为向量

R: test_that 多个对象是否相等

r - 按具有重复最大值的最大组样本大小过滤数据

r - 获取 R igraph 中最大的连通分量