问题标签 [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.
r - 从 R 对象中提取 long[]
我正在尝试为一些基于 C 的稀疏矩阵处理代码制作一个包装器(请参阅上一个问题)。为了调用主力 C 函数,我需要创建一个如下所示的结构:
这些很好地对应于dgCMatrix
稀疏矩阵中的槽。所以理想情况下,我只是指向内部数组dgCMatrix
(在验证 C 函数不会处理数据 [我还没有完成] 之后)。
对于*value
,看起来我将能够根据需要使用REALSXP
或得到一个东西double[]
。但是对于*pointr
and *rowind
,我不确定获得适当数组的最佳方法。我是否需要遍历这些条目并将它们复制到新的数组中,然后进行转换?或者可以Rcpp
在这里提供一些糖吗?这是我第一次真正大量使用 Rcpp,但我还不精通它。
谢谢。
编辑:我也遇到了一些我不明白的链接问题:
我是否需要使用一些特殊的编译标志创建我的库?
编辑2:看起来我的libargs
参数没有效果,所以libsvd
符号永远不会进入库。我找不到使用包含库的方法cxxfunction()
- 这是我尝试过的,但是额外的参数(如意想借自cfunction()
)被默默地吞噬了:
我觉得我的整个过程都错了,因为没有任何效果。有人踢我正确的方向吗?
c++ - 编译 RInside 代码时出错
我想使用 RInside 编译 R 代码。但是我在使用函数 read.csv 时遇到了错误。代码片段如下:
我收到如下错误:
r - 从 C++ 调用时的 R 实例化
我正在使用 Rcpp 和 RInside,将基于 R 的代码与 c++ 互连。我从 C++ 对 R 进行了多次不同的调用。我想知道是否每次调用 R 都会创建一个新的 R 实例?
我想知道这一点的原因是因为我想通过预先计算的东西等来优化我的 c++ 代码。但我不知道调用是如何在内部处理的?
谢谢
-埃贡。
r - 使用 RInside/Rcpp 从 C++ 调用 R 绘图
是否可以从 c++ 调用绘图函数?目前,当我尝试这样做时,ubuntu 终端会冻结一段时间(可能是创建 3d 图然后旋转 360 度的持续时间)然后解冻,而不会弹出新窗口。这是预期的行为还是我做错了什么?如何使用 rinside 和 rcpp 从 c++ 中运行绘图(R 图形)?
谢谢
-埃贡
c++ - 在 Rcpp 中找到向量的最小值
从昨晚开始,我一直在尝试Rcpp
和inline
,到目前为止,我真的很享受它。但总的来说,我还是个新手,C
只能做基本的事情,而且我很难在网上找到关于功能之类的帮助。
我正在研究的是一个在全局环境中找到向量最小值的函数。我想出了:
但似乎应该有一种更简单的方法来做到这一点,而且它比which.max()
我是否忽略了执行此操作的基本功能c++
或Rcpp
功能?如果是这样,我在哪里可以找到此类功能的列表?
我想这个问题与: 我在哪里可以学习如何编写 C 代码来加速慢速 R 函数?
但不同的是,我对如何合并并不真正感兴趣c++
,R
而是更多关于如何以及在何处学习c++
可用的基本代码R
。
r - rcpp 升级遗留代码问题
我正在接管一个项目,该项目涉及升级到最新版本的 Rcpp,因此我必须升级所有旧式 API 调用(我相信它与 CLassic 版本兼容)。由于没有完整的 API 文档,我不得不通过反复试验来做到这一点,并在链接时注意任何“未定义的引用”错误,然后查看小插图/示例。编译工作正常,但在链接到 \inst\libs\RLink.dll 时会出现错误。我已经设法转换了很多代码(主要使用 Rcpp::List 来提取和打包传入和传出函数参数),但我根本无法获得以下等价物:
- Rprintf 或 Rf_error 和 forward_exception_to_r。
- R_NilValue
- rf_install
我正在使用安装了 RTools 的 Code::Blocks 10.05 IDE,并且在选择了 GNU GCC 编译器的工具链中明确引用了 Mingw64。我会很感激任何提醒。谢谢。
编辑:
我确实有 #include 并且在此之前和(发生了一系列错误,因为我在 Rcpp 之前包含了 iostream,这很奇怪。
r - R数据框的实际限制
我一直在阅读有关 read.table 对大型数据文件的效率不高的信息。还有 R 是如何不适合大型数据集的。所以我想知道在哪里可以找到实际限制是什么以及任何性能图表(1)读取各种大小的数据(2)使用不同大小的数据。
实际上,我想知道性能何时下降以及何时遇到障碍。此外,任何与 C++/MATLAB 或其他语言的比较都会非常有帮助。最后,如果 Rcpp 和 RInside 有什么特别的性能对比,那就太好了!
c++ - 在编译要在包中使用的 C++ 代码时,如何将标志传递给 R?
我正在尝试在 R 包中使用 OpenCV 中的一些代码,使用 Rcpp 来构建包。当我在我的机器上编译 c 代码时,它工作正常。
例如,我在本地使用以下语法来编译 facedetect.cpp 代码:
但是,当我尝试使用以下命令将其包含在我的包中时:
在我的 makevars 文件中定义了以下内容:
R 执行以下操作:
这给了我以下错误消息:
我不明白这些错误消息,因为我没有足够的 C++ 经验。有谁知道如何让 R 像我的本地 g++ 编译器那样编译 C++ 代码?我不确定“-c”标志是否是问题......不幸的是,我无法通过谷歌或编写 R 扩展手册找到答案。谢谢!
感谢以前的响应者帮助我找出我在使用标志时遇到的最初问题。
c++ - 尝试使用 R 的 g++ 编译器编译 C++ 代码时出现“链接器输入文件”未使用的错误
我正在尝试在 R 包中使用 OpenCV 中的一些代码,使用 Rcpp 来构建包。当我在我的机器上编译 c 代码时,它工作正常。
例如,我在本地使用以下语法来编译 facedetect.cpp 代码:
但是,当我尝试使用以下命令将其包含在我的包中时:
在我的 makevars 文件中定义了以下内容:
R 执行以下操作:
这给了我以下错误消息:
我不明白这些错误消息,因为我没有足够的 C++ 经验。有谁知道如何让 R 像我的本地 g++ 编译器那样编译 C++ 代码?我不确定“-c”标志是否是问题......不幸的是,我无法通过谷歌或编写 R 扩展手册找到答案。谢谢!