相关疑难解决方法(0)

R包开发中的代码组织

当开发R所有R源文件中的包放在子目录中时R/,所有编译的代码都放在子目录中src/.

我想在这些文件夹中添加一些组织到文件,而不是将所有内容都转储到顶层.例如,假设我假设开发了一个客户端 - 服务器应用程序.从逻辑上讲,我想组织我的所有客户端R源文件R/client/和我的所有服务器R源文件R/server/.

在开发包时是否可以在子文件夹中组织代码,如果是,如何?在写作R附加手册没有提供任何指引,也没有 R CMD build检测到存储在子文件夹下的文件R/.

r package

19
推荐指数
2
解决办法
1639
查看次数

我是否需要在使用它的 R 包的说明文件中导入 RccpEigen,或者“LinkingTo”就足够了?

我使用 RcppEigen.package.sculpture() 作为向现有 R 包添加小函数的模板,因此我的描述文件现在包含以下行:

\n\n
Imports: Rcpp (>= 0.11.3), RcppEigen (>= 0.3.2.3.0)\nLinkingTo: Rcpp, RcppEigen\n
Run Code Online (Sandbox Code Playgroud)\n\n

然而,这样做R CMD check --as-cran <myPackageName_1.0.0>.tar.gz会给出以下结果:

\n\n

“Depends/Imports 中的包可能只应位于 LinkingTo:\'RcppEigen\'”

\n\n

编写 R 扩展页面说:“如果这些是包含源代码的 C++ 标头或在安装时完成静态链接,则在 \xe2\x80\x98LinkingTo\xe2\x80\x99 中指定包就足够了:这些包不需要(并且通常不应该)列在 \xe2\x80\x98Depends\xe2\x80\x99 或 \xe2\x80\x98Imports\xe2\x80\x99 字段中。这包括 CRAN 包 BH 以及 RcppArmadillo 和 RcppEigen 的几乎所有用户。

\n\n

我不懂C++,所以我不知道这意味着什么。我创建包的过程如下:RcppEigen - getting from inline to a .cpp function in a package and "Map"

\n\n

可以从“导入”中删除 RcppEigen 吗?为什么/为什么不呢?(即,对于我的情况,您能否解释一下“编写 R 扩展”页面的内容,以便我能够理解我在做什么?我实验室中的 R 和软件专家都表示他们不理解之间的区别“导入”和“LinkingTo”。)

\n

c++ r rcpp eigen

4
推荐指数
1
解决办法
1143
查看次数

标签 统计

r ×2

c++ ×1

eigen ×1

package ×1

rcpp ×1