在自己的 R 包中使用 R 包“survival”中的“predict.coxph”

问题描述

我想在我自己的 R 包中使用 R 包 survival

我的问题是函数 predict.coxph 没有被 survival 导出,这就是为什么我不能在 survival::predict.coxph 中的 Imports: 下使用 DESCRIPTION 列出生存文件

现在我尝试在 survival 下列出 Depends: 并且只使用 predict(fittedmodel)(以及 coxphSurv,没有 survival::)。但是我使用 NOTEs 得到以下 R CMD check --as-cran

  1. "* 检查 R 代码中的依赖项...注意 Depends 字段中的包未从以下导入:'survival' 这些包需要从(在 NAMESPACE 文件中)导入 当此命名空间已加载但未附加时。”
  2. “'Surv' 没有可见的全局函数定义”等
  3. "未定义的全局函数或变量: Surv coxph survfit"

关于 1):我在 import(survival) 文件中有 NAMESPACE

这里会出现什么问题?

解决方法

根据Writing R Packages手册

使用 foo:::f 而不是 foo::f 允许访问未导出的对象。通常不建议这样做,因为包作者在日常维护中可能会更改未导出对象的语义。

所以你有它。要访问未导出的函数,您只需使用 ::: 而不是 :: 调用它们,但请注意这些函数没有可用文档的事实,因此当包的新版本时它们的使用可能会发生变化问题已发布。

关于您的依赖问题,只需将 survival 添加到 ImportsDESCRIPTION 部分。