问题标签 [r-package]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 使用 Visual Studio 构建 R 包 (C API)
我正在尝试使用 Visual Studio 构建一个简单的 R 包,这是我的代码:
我安装了 R 运行时和 RTools。
当我尝试编译它时,我收到以下链接错误:
好吧,我想我缺少一些链接过程所需的二进制文件。问题是我不知道在哪里可以找到必要的.lib
文件。在 R 运行时安装文件夹中,我可以找到该include
目录,但找不到任何lib
目录。我错过了什么?
谢谢!
c++ - 包含 C++ 库的 R 包无法为窗口构建
我正在尝试使用 Rcpp 编写一个 R 包。我成功地使它适用于 Linux,但不适用于 Windows。
它包含我的 C++ 代码以及另一个库。代码可在此处获得:https ://github.com/Healthcast/TransEnt/tree/devel-win
在Makevars.win
您可以看到我MakefileWin
为库运行:
为了制作 DLL MakefileWin
,我正在使用:
问题是我无法制作 DLL。我收到警告和错误。(但不是在 Linux 中)例如:
ANN.cpp:46:9: 警告: 'ANNdist annDist(int, ANNpoint, ANNpoint)' 在没有 dllimport 属性的情况下重新声明:之前的 dllimport 被忽略 [-Wattributes]
perf.cpp:71:14:错误:函数 'void annResetStats(int)' 定义标记为 dllimport
我尝试了不同的方法,但我无法理解我究竟应该在这里做什么。
我还尝试将所有源文件复制到 src 文件夹并有一个简单的 makewars 文件,然后我得到了不同的错误,例如:
compute_TE.o:compute_TE.cpp:(.text+0x8ad): 未定义引用`_imp___Z11annAllocPtsii'
r - 如何在 R 包中定义“隐藏的全局变量”?
我在 R 中有以下 2 个函数:
该函数使用我调用该函数时的 CPU 时间exs.time.start
创建一个全局变量 ( )。exs.time
该函数exs.time.stop
访问该全局变量并返回执行exs.time.start
和之间的时间exs.time.stop
。
我的目标是用这两个函数在 R 中创建一个包。如何将该全局变量 ( exs.time
) 定义为对用户不可见的变量,因此他在 R 全局环境中看不到该变量?
我可以将此变量定义为 R 包环境/命名空间中的“隐藏”全局变量吗?
这是我第一次使用包,所以我不知道在定义包时如何很好地使用命名空间文件。我正在使用 R Studio 和 Roxygen2 创建我的包。
任何帮助或建议都会很棒!
c - R 包链接到 C igraph
我有一些使用 igraph C 库的 C 代码。现在我想用这些制作一个 R 包。
之前在这里问过我的问题:链接到外部 C 库的 R 包 但是自从 3 年前被问到,我想确保它没有更新。
是否有可能使用依赖项,我不会将整个 igraph 复制到我的包中?我对 makevars 有点熟悉,但我不知道如何在每个系统中找到 igraph lib 的正确路径。
提前致谢
r - R从包内的导出函数调用内部函数
我正在 RStudio 中创建一个 R 包。假设我有两个函数fnbig()
,并且fnsmall()
在我的包中名为foo
. fnbig()
是使用包的用户必须可以访问的功能。fnsmall()
是一个内部函数,用户不能访问,但应该可以在fnbig()
.
我试过导出fnsmall()
. 一切正常,但它会乱扔命名空间。我尝试不导出,但是在使用or时fnsmall()
它在内部不起作用。然后我尝试使用,它可以工作。但我读到不推荐使用。fnbig()
x <- fnsmall()
x <- foo::fnsmall()
x <- foo:::fnsmall()
:::
这样做的最佳方法是什么?如何从导出的函数中调用内部函数?
r - Install.packages("ggplot2") 安装旧版本 (1.0.0)
所以我安装了一个旧版本的ggplot2
with install_version
from devtools
(0.9.1 或其他) 来看看它是如何工作的 - 顺便说一下之前安装的 2.0.0 版本。然后我升级了版本,它出乎意料地给了我 1.0.0 版本,而不是当前的 2.0.0。
现在,当我这样做时,install.packages("ggplot2")
我得到了相同的 1.0.0。还从 Rstudio 菜单中选择“ Check for package upgrades..
”项目,它会告诉我“所有软件包都是最新的”。
是什么赋予了?现在的最新版本不是ggplot
2.0.0吗?这是我的会话信息:
以下是它看到的存储库:
更新:
多亏了德克,我明白了发生了什么。看起来安装 RRO 包会重置我的 CRAN 存储库。我也可以理解为什么必须这样,尽管也许我应该对此提出警告。从这个博客条目中,我也看到了如何修复它。http://www.r-bloggers.com/permanently-setting-the-cran-repository/
r - 在 R 中安装 coreNLP
我正在按照此链接上的说明使用 coreNLP https://github.com/statsmaths/coreNLP
但是,我发现了这个错误
r - 在 R 中构建和重新加载期间出错
我正在对我在 R 中制作的包进行 roxygenizing。
脚本是
在 RStudio 中构建和重新加载时,错误是:
错误在第 14 行,即
如果我评论这一行,错误就会消失。
r - 为什么这个 R 包不会安装,我该如何修复它?
我想在 R 包中包含一个 Fortran 子例程。我一直只使用 devtools 和 roxygen 构建软件包(所以我的知识可能非常有限)。我收到一个错误,阻止我在构建它不是 Win32 应用程序后安装该软件包...
我正在使用 Rtools 3.3。我的会话信息:
为了最初构建包,我运行这个:
这是 fortran 代码,在/src
文件中保存为 myFunc.f:
我用来调用它的 R 包装器(保存在/R
文件中):
现在,要创建文档并安装包,我运行以下命令:
我还尝试使用R CMD build myPack
然后通过命令行构建和检查包R CMD check myPack_*tar.gz
。我这样做的唯一错误是关于我的 LaTeX 包。
感谢您阅读本文,感谢您提供的任何帮助。
免责声明:我之前确实问过这个问题,但我想以“最小的方式”再次问。
r - R在加载包时要求未知依赖
我是包 'rase' (link)的维护者。
自 2015 年 11 月 9 日以来,我根本没有更改代码,当时包可以毫无问题地加载。但是,我在加载包时收到了电子邮件,询问以下问题:
然后我尝试在自己的计算机上执行此操作,并且收到了相同的消息。从我上次成功加载包(2015 年 11 月)到现在,我将 R 升级到 v 3.2.3。天真地,我重新安装了 v3.2.2,但出现了同样的错误。我已经彻底检查了 rase 代码(此处为 git),但没有进行任何更改,也没有提到任何对“Biostrings”(或其中的任何函数)的引用。“rase”依赖项和导入不包括“Biostrings”。
任何帮助将不胜感激,因为我不知道为什么会发生这种情况(我在创建软件包时是新手)。我想我可以安装“Biostrings”,但我不想做出看似不必要的依赖。
这是我的会话信息: