亲宝软件园·资讯

展开

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

Kanny广小隶 人气:0
想了解R包制作后出现not available for错误问题解决解决的相关内容吗,Kanny广小隶在本文为您仔细讲解制作R包出现错误问题解决的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:R语言R包制作出现问题解决,下面大家一起来学习吧。

有一段时间没有做过 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)

加载全部内容

相关教程
猜你喜欢
用户评论