R包制作后出现not available for错误问题解决解决

有一段时间没有做过 R 包了今天在尝试制作 R 包时,制作、生成、载入都没有遇到问题,但在载入 R 包内用 Rcpp 写得函数时出现了如下问题(做的包名叫 RI,调用的函数也是 RI):

Error in .Call("_RI_RI", PACKAGE = "RI", X, Y) : 
  "_RI_RI" not available for .Call() for package "RI"

后在实验室小伙伴的帮助下成功解决。

解决方法

找到 NAMESPACE 文件,默认只有下述的语句:

exportPattern("^[[:alpha:]]+")

我们在其下方添加如下语句(再次提醒,做的包名叫 RI,大家替换成自己相应的包名即可):

useDynLib(RI, .registration = TRUE)

之后再次制作、生成、载入与调用函数,发现报错信息发生了变化:

Error in RI(matrix(1:6, 3), matrix(1:6, 2)) : 
  function 'enterRNGScope' not provided by package 'Rcpp'

这时我们再尝试在 NAMESPACE 文件添加如下语句即可:

import(Rcpp)

最终成功解决!

NAMESPACE 文件最终形态

exportPattern("^[[:alpha:]]+")
import(Rcpp)
useDynLib(RI, .registration = TRUE)

以上就是R包制作后出现not available for错误问题解决解决的详细内容,更多关于制作R包出现错误问题解决的资料请关注脚本之家其它相关文章!

你可能感兴趣的:(R包制作后出现not available for错误问题解决解决)