【问题标题】:Using 'predict.coxph' from the R package 'survival' in own R package在自己的 R 包中使用 R 包“survival”中的“predict.coxph”
【发布时间】:2021-03-26 19:57:02
【问题描述】:

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

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

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

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

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

这里有什么问题?

【问题讨论】:

  • DESCRIPTION 文件中是否还有“Imports:survival”?

标签: r package survival


【解决方案1】:

根据Writing R Packages手册

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

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

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

【讨论】:

  • 谢谢!我现在使用:::,但不幸的是我得到:“*检查R代码中的依赖关系......警告由':::'调用导入的未导出对象:'survival:::predict.coxph' 看到注释吗? ::: 关于此运算符的使用。包括基本/推荐包:'survival'"。会不会有其他的可能?应该有办法使用predict.coxph,因为survival是一个非常常用的R包。
  • predict.coxph 确实有一个帮助页面。因此,不包括非导出函数的文档是常见做法的一个例外。我无法解释为什么没有导出该函数。
猜你喜欢
  • 2019-03-08
  • 1970-01-01
  • 2022-01-22
  • 2021-04-25
  • 1970-01-01
  • 2012-05-18
  • 1970-01-01
相关资源
最近更新 更多