问题标签 [rcpp]
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++ - 如何使用 R 和 RCPP 编译 dll?
我已经编写了一个 .cpp 文件,我想将它编译成一个 .dll 用于 R 和 RCPP。(不使用内联包)。我正在使用 WinXP 和 R 2.13.2 和 RCPP 0.9.7。我正在使用 Rtools 2.14。
如何在 minGW 的搜索路径中包含 Rcpp.h?我知道我需要包含的文件位于 C:\Program Files\R\R-2.13.2\library\Rcpp\include 中。但是,我无法将它们“添加”到“搜索路径”中。
我厌倦了暂时的“黑客”。我将 C:\Program Files\R\R-2.13.2\library\Rcpp\include 的内容复制到 minGW 的包含目录中。编译/链接过程从 myfile.cpp 到 myfile.o,但在编译 myfile.dll 之前会抛出一堆错误。
我已将 C:\Program Files\R\R-2.13.2\bin\i386 添加到我的 PATH 中,并且我正在从 WinXP 命令提示符调用 R CMB SHLIB myfile.cpp。
我应该做什么?
r - Solaris 上的 Rcpp
我正在尝试从 sparc-sun-solaris2.10 上的源代码编译 Rcpp_0.9.7。当我尝试使用 install.packages 时出现以下错误:
sh:制作:未找到
错误:包“Rcpp”的编译失败
从互联网上的研究来看,似乎其他人在使用 solaris 时也遇到了类似的问题。不幸的是,我不太了解我应该或不应该使用哪些编译器。然而,我开始意识到的一件事是,solaris 似乎是运行 R 的次优环境(就性能和便利性而言)。
c++ - 如何在 R 中进行内联 C++ 函数调用?
好的,所以我正在用 R 编程,我想创建一个 C++ 函数。我已经导入了 Rcpp 和内联库。现在,我只是想创建一个简单的函数来添加 2 个数字,但无论我尝试什么,都会出错。
这是我的代码:
当我进入第二行时,我得到
我已经尝试了所有我能想到的东西,从强制转换到移动代码,到 #include RcppSexp,再到只是简单地返回 s,每次我遇到一些错误时,无论是
或者
或者
...我很困惑:(我在网上查看了几个示例,而我目前所拥有的似乎是其他人正在做的事情,并且它对他们神奇地起作用...
我随处可见的 SEXPREC* 是什么?它产生的外部“C”函数是什么?为什么它会在我的 return 语句之后生成语句并告诉我我的函数没有返回任何东西,即使它确实返回了?
c++ - 我可以在 Armadillo 中实例化矩阵,然后在后面的代码行中将其设置为使用辅助内存吗?
我正在使用带有 RcppArmadillo 的犰狳。是否可以声明一个矩阵,arma::mat A
然后为我之前创建的这个矩阵分配一些内存arma::mat(aux_mem*, n_rows, n_cols, copy_aux_mem = true, strict = true)
?
目的是从 Rcpp::NumericMatrix 创建一个犰狳矩阵,但只if()
满足特定条件。然后稍后在同一个函数中,我想使用该矩阵,但再次只if()
满足一个条件。
r - 如何测试 Rcpp::CharacterVector 元素是否相等?
我正在尝试编写一些简单的 Rcpp 代码示例。Rcpp
使用andinline
包,这非常容易。
但是我对如何测试两个字符元素是否相等感到困惑。下面的示例比较两个字符向量的第一个元素。但我无法编译它。
诀窍是什么?
--
如果两个元素之一是常数,则比较使用==
效果很好。以下代码编译并给出预期结果:
c++ - 将 Valgrind 与 RInside 程序一起使用
有谁知道如何使用 Valgrind 来内存调试 RInside 程序?
c++ - 在 Windows 上从 C++ 调用 R 函数
我正在尝试在 Windows 上从 C++ 调用 R 函数。我正在使用 MinGW 编译程序,但是在编译时会抛出错误。代码(取自 Dirk)和编译错误如下:
编译:
错误:
有什么我想念的想法吗?
c++ - R数字向量列表->带有Rcpp的C ++ 2d数组
我主要使用 R,但最终想使用 Rcpp 与一些接收和返回二维数值数组的 C++ 函数交互。因此,要开始使用 C++ 和 Rcpp,我想我只需创建一个小函数,将我的可变长度数值向量的 R 列表转换为 C++ 等效项,然后再返回。
这就像我期望的那样工作:
诚然,我只是完成了非常详尽的文档的一部分,但是有没有比使用 for 循环更好(即更像 Rcpp)的方法来进行 R -> C++ 转换?我认为可能不是,因为文档提到(至少使用内置方法)as
“提供的灵活性较低,并且目前处理将 R 对象转换为原始类型”,但我想检查一下,因为我是个新手在这个区域。
c++ - 将现有 C++ 代码移植到 R
我想将SpecialK Poker Hand 评估器移植到R。我认为使用Rcpp 包应该相对容易,但我不知道从哪里开始。
现有教程似乎专注于开发新的 C++ 代码以在 R 中使用。在这种情况下,我有 C++ 可以解决问题,并且我想在 R 中使用此代码以最少的麻烦。如果代码是一个独立的函数,我可以使用inline即时编译和链接它,但这在这里不起作用。
我猜这个问题有两个部分:
- 我是否需要对 C++ 源代码进行任何更改以使其与 Rcpp 兼容?
- 我如何从 R 中调用此代码,因为它不是一个小的自包含函数,我可以使用内联动态编译和链接?
我也愿意使用 Java、python 或 Objective-C 版本的评估器,但我认为这些不会更容易链接到 R。
c++ - 分配大向量的问题
我有以下程序。
输出是
这意味着vv2
无法初始化 C++ 向量。为什么不能分配vv2?
使用内联,这是我得到的: