问题描述
我想在我自己的 R 包中使用 R 包 survival
。
我的问题是函数 predict.coxph
没有被 survival
导出,这就是为什么我不能在 survival::predict.coxph
中的 Imports:
下使用 DESCRIPTION
列出生存文件。
现在我尝试在 survival
下列出 Depends:
并且只使用 predict(fittedmodel)
(以及 coxph
和 Surv
,没有 survival::
)。但是我使用 NOTEs
得到以下 R CMD check --as-cran
:
- "* 检查 R 代码中的依赖项...注意 Depends 字段中的包未从以下导入:'survival' 这些包需要从(在 NAMESPACE 文件中)导入 当此命名空间已加载但未附加时。”
- “'Surv' 没有可见的全局函数定义”等
- "未定义的全局函数或变量: Surv coxph survfit"
关于 1):我在 import(survival)
文件中有 NAMESPACE
。
这里会出现什么问题?
解决方法
使用 foo:::f 而不是 foo::f 允许访问未导出的对象。通常不建议这样做,因为包作者在日常维护中可能会更改未导出对象的语义。
所以你有它。要访问未导出的函数,您只需使用 :::
而不是 ::
调用它们,但请注意这些函数没有可用文档的事实,因此当包的新版本时它们的使用可能会发生变化问题已发布。
关于您的依赖问题,只需将 survival
添加到 Imports
的 DESCRIPTION
部分。