外部函数调用另一个包注意

时间:2014-06-10 20:22:33

标签: r clrpackage

我正在准备一个R包提交给CRAN。 R CMD检查给我以下注意:

  

外部函数调用另一个包:
.Fortran(" cinc",...   PACKAGE =" cmprsk")
.Fortran(" crstm",... PACKAGE =" cmprsk")见   章节系统和外语界面'写作R   扩展手册。

如何摆脱这个注意?我无法通过阅读本章或搜索网页找到答案。也许我错过了很简单的事情。我之前为R2.x提交了相同代码的包,从来没有遇到过这个问题。这是R3.x的新功能。

1 个答案:

答案 0 :(得分:4)

警告指向 Writing R Extensions 手册的'System and Foreign language interface' chapter,具体说明(在Writing Portable Packages部分中):

  

通过.Internal,.C,.Fortran,.Call或.External调用R或其他软件包中的编译代码是不可移植的,因为此类接口如有更改,恕不另行通知,并且可能会导致代码终止R过程。

您可以说出您对CRAN维护者的喜好,但他们在技术问题上很少出错,原因几乎总是记录在某处

您的一些选择是:

  • 如果您不想提交给CRAN,则可以忽略“注意”。
  • 您可以从其他软件包中复制Fortran(或C)代码并将其合并到您自己的代码中(您可能需要注意许可证,并且提出许可肯定是礼貌的)
  • 您可以要求其他程序包的维护者在其低级代码周围实现并导出一个瘦R包装器