我想在我自己的R包中使用R包survival
。
我的问题是函数predict.coxph
不是由survival
导出的,这就是为什么我不能使用survival::predict.coxph
在DESCRIPTION
文件中列出Imports:
下的生存。
现在我尝试在Depends:
下列出survival
,只使用predict(fittedmodel)
(以及不使用survival::
的coxph
和Surv
(。但我使用R CMD check --as-cran
得到以下NOTEs
:
- "*正在检查R代码中的依赖项。。。注释Dependens字段中的包未从导入:"生存"这些包需要从(NAMESPACE文件中(导入用于加载但未附加此命名空间的情况">
- "Surv"没有可见的全局函数定义;等等
- "未定义的全局函数或变量:Surv coxph survefit">
关于1(:我在NAMESPACE
文件中有import(survival)
。
这里会有什么问题?
根据编写R包手册
使用foo:::f而不是foo::f可以访问未导出的对象。通常不建议这样做,因为包作者可能会在日常维护中更改未导出对象的语义。
现在就有了。要访问未导出的函数,只需使用:::
而不是::
来调用它们,但要注意的是,这些函数没有可用的文档,因此当有问题的包的新版本发布时,它们的使用可能会发生变化。
关于依赖关系问题,只需将survival
添加到DESCRIPTION
的Imports
部分即可。