rcpp相关内容
我正在制作一个包含两个 Rcpp 函数的包.第一个函数用于创建一个矩阵,该矩阵将被第二个函数多次使用.在调用这两个函数之间,矩阵存储在 R 的全局环境中. M 根据输入参数,第二个函数将对输入矩阵(由第一个函数创建)进行更改,然后从中计算向量(aFunction 是 mySecondRcpp()): IntegerVector aFunction( SEXP Qin, SEXP param
..
这个问题既不是这个问题的重复,也不是这个,是关于返回外部指针的函数. 问题来了.此后的 Rcpp 代码定义了两个函数,一个创建 XPtr,另一个可以在 XPtr 上工作. #include 使用命名空间 Rcpp;//[[Rcpp::export]]SEXP f(int n) {std::vector* v = 新的 std::vector;for(int i = 0; i push_ba
..
我正在尝试开发一个 R 包,它使用了 Arrayfire,感谢 Rcpp图书馆.我已经开始编写示例代码(让我们将其命名为 hello_world.cpp),如下所示: #include //[[Rcpp::export]]bool test_array_fire(){af::randu(1, 4);返回真;} 然后,我尝试使用 sourceCpp 函数来编译它 Rcpp::sourceCpp
..
我是 C++ 和 Rcpp 的新手.假设,我有一个向量 t1 并且我想获得 NA 的 t1 元素的索引.我可以写: NumericVector retIdxNA(NumericVector x) {//第一步:获取NA在向量中的位置逻辑向量 y=is_na(x);//步骤2:统计NA的数量int Cnt=0;for (int i=0;i
..
我有以下 data.frame df1 和因子 fac1 是我在 R 中创建的,我将它作为参数传递给 Rcpp 函数.请求的任务是获取 Rcpp 函数中的所有因子水平并使用它们. fac1
..
我正在使用 Rcpp 来加速一个在 R(3.4、Windows7)中被重复调用的函数,我希望更改编译器设置. 当我打电话时:sourceCpp("scoreseq1.1.cc", verbose=TRUE) 部分输出如下: C:/RBuildTools/3.4/mingw_64/bin/g++ -I"C:/PROGRA~1/R/R-34~1.1/include" -O2 -Wal
..
我正在尝试使用 RCpp 向数据框中添加一个新列. 在下面的代码中,我打算向数据框 df 添加一个“结果"列.但是运行代码后数据集没有“结果"列.你能告诉我他们有什么问题吗? R 文件调用 AddNewCol() 函数. 库(Rcpp)sourceCpp('AddNewCol.cpp')AddNewCol( df ,"结果") AddNewCol.cpp #include #in
..
我一直在开发一个包,该包使用 Rcpp 将任意 R 代码应用于一组大型医学成像文件.我注意到我的 Rcpp 实现比原始的纯 C 版本慢得多.我追踪了通过 Function 调用函数与原始 Rf_eval 的区别.我的问题是为什么会出现接近 4 倍的性能下降,有没有办法加快函数调用的速度,使其在性能上更接近 Rf_eval? 示例: 库(Rcpp)图书馆(内联)图书馆(微基准)cpp_fun
..
Rcpp 允许向量化一些操作,这很棒.但是对于 pow,只有基数可以是向量,而不是指数.通常,在编译时: #include 使用命名空间 Rcpp;//[[Rcpp::export]]NumericVector puissancedCpp(NumericVector base, double exp){返回战俘(基地,exp);} 有效但无效: #include 使用命名空间 Rcpp;//
..
我正在 Windows 7 虚拟机上运行 R 3.3 的新安装,并尝试安装我自己的使用 Rcpp 的 R 包.该软件包可在 GitHub 上获得.我已经安装了 Rtools 以及 Rcpp 和 devtools 使用devtools::install_github("pbsag/tcadr"): >devtools::install_github("pbsag/tcadr")下载 GitH
..
解决方案现已在Rcpp Gallery 我从 RcppArmadillo 的 mvtnorm 包中重新实现了 dmvnorm.我以某种方式喜欢犰狳,但我想它也适用于普通的 Rcpp.dmvnorm 的方法基于马氏距离,所以我有一个函数,然后是多元正态密度函数. 让我向您展示我的代码: #include #include //[[Rcpp::depends("RcppArmadillo
..
在我的 linux 集群上,我无法重新编译需要重新编译的 R 包在最新版本中删除了 libRcpp.so.最终目标是让 R 包 DEseq2 运行.我们安装了新版本/opt/bin 目录下的 g++ 在 /opt/lib64 中有新的库.我有还创建了具有以下指令的 .R/Makevars: CXX=/opt/bin/g++ -Wl,-rpath,/opt/lib64 -Wl,-L,/opt/li
..
我需要一些帮助来解决在我没有管理员权限的 Linux 系统上安装 Rcpp 包时遇到的链接器错误.简而言之,我收到此错误: 重新定位R_X86_64_32针对`.rodata'不能在创建共享对象时使用;用 -fPIC 重新编译 我有一个使用外部库 interp2d 的文件 solve.cpp,它又具有 GSL 依赖性.我通过 [[Rcpp::depends(RcppArmadillo,
..
我对 C++ 还很陌生,但在 R 上花了很多时间.我正在尝试使用 RcppArmadillo,其中 .cpp 文件是使用 sourceCpp 函数获取的.我的示例代码来自 http://lists.r-forge.r-project.org/pipermail/rcpp-devel/2013-June/006150.html 并显示如下: #include 使用命名空间 Rcpp ;
..
我想通过 Rcpp 中的名称访问命名列表元素 在 R >b = 列表(bgroups=c(1,1,1,1,1,0,0,0,0,0))>b$bgroups[1] 1 1 1 1 1 0 0 0 0 0 然后当试图在 Rcpp 中访问它时我试过了: cppFunction("void f(List & b){std::vectorc(10) = as>b[
..
当我使用 Rcpp 向数据帧添加一列时,它在返回后不再呈现为数据帧.我试图尽可能接近添加列的原始示例,但无论我如何对其进行变异,我都会得到一个列表. 如下所示,当我通过分配给新键或使用 push_back() 添加列时,我丢失了对象的类和一些重要属性. Runnable reprex 此处,或复制下面的输出 fun
..
这里的新手 RCpp 问题:如何使 NumericVector 返回 NA 到 R?例如,假设我有一个 RCpp 代码,它将 NA 分配给向量的第一个元素. //[[RCpp::export]]NumericVector myFunc(NumericVector x) {NumericVector y=clone(x);y[0]=不适用;//
..
我刚刚开始使用 Rcpp 很抱歉,如果我错过了一个简单的步骤或类似的东西...我已经从 ?sourceCpp 尝试过这个> 库(Rcpp)sourceCpp(代码="#include //[[Rcpp::export]]int fibonacci(const int x) {如果(x == 0)返回(0);如果(x == 1)返回(1);返回 (fibonacci(x - 1)) + fibon
..
我希望使用 Rcpp 包创建 iris 数据集的以下子集: head(subset(iris, Species == "versicolor"))萼片.长度 萼片.宽度 花瓣.长度 花瓣.宽度 种类51 7.0 3.2 4.7 1.4 杂色52 6.4 3.2 4.5 1.5 杂色53 6.9 3.1 4.9 1.5 杂色54 5.5 2.3 4.0 1.3 杂色55 6.5 2.8 4.6 1
..
假设我有以下矩阵: testM 这个矩阵有列名 V1 到 V6 假设有另一个矩阵,我删除了列名: >testM2 然后,如果我在 testM 和 testM2 上尝试 colMeans 在这两种情况下都返回一个 numeric 类,除了在第一种情况下,答案有 colnames. >colMeans(testM)V1 V2 V3 V4 V5 V62.166667 2.333333
..