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

目录
  • 解决方法
  • NAMESPACE 文件最终形态

有一段时间没有做过 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包出现错误问题解决的资料请关注我们其它相关文章!

(0)

相关推荐

  • R语言 解决安装ggplot2报错的问题

    如下所示: install.packages('xxx',repos='http://cran.us.r-project.org') xxx 改为 ggplot2 补充:R包安装时,出现的错误解决合集 如下所示: 1.library(devtools) #error:Error in get(genname, envir = envir) : object 'testthat_print' not found #解决 options("repos" = c(CRAN="htt

  • R语言入门使用RStudio制作包含Rcpp代码的R包

    目录 1. 创建项目 2. 修改一些文件 3. 打包 4. 使用Eigen或其它依赖库会出现的问题 前面博客中有提及,当我们进行模拟想要再次进行提速时,通常都会使用Rcpp将我们的R代码改成C++代码.具体Rcpp的使用可参考博客:Rcpp入门R代码提速方法过程,R语言学习RcppEigen进行矩阵运算. 平时在我们使用的时候,直接使用Rcpp::sourceCpp()就可以直接将我们的C++代码中的函数进行导入,这不会遇到什么问题,但如果我们想要使用snowfall进行并行时就不能再这样做了.

  • 解决R语言安装时出现辑程包不存在的问题

    [解决方案] 1.使用命令单独安装caret,安装的时间很长. install.packages("caret", dependencies = c("Depends", "Suggests")) 需要安装依赖的包全部安装之后,就可以了. 依赖包如下: dependencies 'doMC', 'rpvm', 'Rcompression', 'RMySQL', 'globaltest', 'OpenMx', 'pryr', 'gpclib', '

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

    目录 解决方法 NAMESPACE 文件最终形态 有一段时间没有做过 R 包了今天在尝试制作 R 包时,制作.生成.载入都没有遇到问题,但在载入 R 包内用 Rcpp 写得函数时出现了如下问题(做的包名叫 RI,调用的函数也是 RI): Error in .Call("_RI_RI", PACKAGE = "RI", X, Y) : "_RI_RI" not available for .Call() for package "RI&q

  • 基于NET Core 的Nuget包制作、发布和运用流程解析(完整过程)

    目录 前期准备 Nuget包制作 上传Nuget包 Nuget包使用 (一).准备配置信息 (二).业务层调用 开发缘由:公司需要调用天眼查-开放平台 ,验证客户的的营业执照信息是否在存续期,并将企业基本信息返回,之后和使用百度图文识别的企业信息进行对照是否一致. 前期准备 在网站中注册后,需要够买套餐.之后点击个人中心进入,点击左侧的我的接口,找到申请接口点击选择你要使用的接口,此次使用的是企业基本信息. 存放Nuget包目前我已知的是1.NuGet官网https://www.nuget.or

  • R语言服务器安装R包实现过程

    目录 通过网络安装 通过本地安装 在服务器上使用R装包分为两种情况,一种是常规通过网络来进行安装,另一种是直接将R包拖动到服务器的指定路径下在进行本地安装,两者的安装方式是不一致的. 通过网络安装 这种安装方式相对简单,首先进R,然后使用下述命令进行包的安装: install.packages("package_name") 包名注意加双引号!包名注意加双引号!包名注意加双引号!(重要的事情说三遍) 之后会弹出一个界面需要进行镜像的选择,这时候我们通常会使用国内的镜像,也就是4,当然还

  • 项目打包成jar后包无法读取src/main/resources下文件的解决

    目录 一.项目场景 二.问题描述 发现问题 分析问题 为什么使用 ClassPathResource 后, 可以找到打包后的文件路径? 三.解决方案 方案一 方案二 意外出现 总结 一.项目场景 在项目中读取文件时, 使用new File() 出现的一个坑以及解决流程这种问题不仅在本地文件读取时会遇到, 而且在下载项目下 (例如: src/main/resources目录下) 的文本时, 也会遇到, 二.问题描述 发现问题 原来代码该代码功能是利用 common.io 包下的FileUtils来

  • R包ggtreeExtra绘制进化树

    目录 引言 绘图示例 1.下载安装ggtreeExtra包 2.加载依赖包 3.设置工作目录 4.数据来源 5.获取数据 6.绘制树状图 7.获取数据集绘制图 a.绘制点图层 b.绘制热图层 c.绘制热图层 d.绘制柱状图层 引言 ggplot2提供的geom_tile图层可以画热图了,ggplot2的geom_point或者ggstar的geom_star可以绘制点图层.为了扩展ggtree在点和布局中的系统发育树的外环上呈现相关数据,开发的ggtreeExtra包提供了一个函数,geom_f

  • 更新至Android Studio4.1后发现as打不开的解决方法(原因分析)

    前言 今天收到了as更新4.1推送,更完后发现打不开了,报下面的错误 Internal error. Please refer to https://code.google.com/p/android/issues   java.lang.NoSuchMethodError: com.intellij.ide.plugins.PluginManagerCore.loadDescriptors()[Lcom/intellij/ide/plugins/IdeaPluginDescriptorImpl

  • Ajax 动态载入html页面后不能执行其中的js快速解决方法

    事件背景 有一个公用页面需要在多个页面调用,其中涉及到部分js已经写在了公用页面中,通过ajax加载该页面后无法执行其中的js. 解决思路 1. 采用附加一个iframe的方法去执行js,为我等代码洁癖者所不齿. 2. 使用document.write输出代码,我等简洁主义者所不愿. 3. 最简单的方法是把js放到需要调用的父页面,那想这样的公用页面,每个地方调用都要写入一次,代码冗余. 4. eval是个解决方法,虽然低效. 5. 复杂的解决方法:正则匹配出加载页面中的所有js,为这些js创建

  • pyinstaller打包单个exe后无法执行错误的解决方法

    1.执行环境说明 python版本3.7 直接使用pip进行安装pywin32.pyinstaller pip install pywin32 pip install pyinstaller 2.使用了第三方库的情况 建议在打包之前务必找到第三方库的包,把包复制到到跟myfile.py同目录下,然后再使用以上2种方式打包,否则会打包失败或者即使打包成功,程序也会闪退.pyinstaller -p参数是添加的pyinstaller打包程序时的扫描路径,假设venv\Lib\site-package

  • Android Gradle Plug 4.1.0 升级后gradle获取manifest位置失败问题解决

    问题背景 项目编译过程中,使用了类似Android Gradle Plugin的gradle插件进行编译,在最终打包apk时,会动态修改manifest文件. 近期发现线上用户有反应升级到以下开发环境后,打包apk后manifest文件中没有应有的任何配置. Android Gradle Plugin:4.1.0 Gradle:6.5 Android Studio:4.1 确认调查方向 首先要确认清楚到底是上述3个哪个的升级导致的问题. 在本地进行环境升级过程验证了以下结论: Android G

随机推荐