rcpp相关内容

使用 rcpp 将 R 函数传递给 C 例程

我有一个来自下游库的 C 函数,我像这样在 C 中调用 result = cfunction(input_function) input_function 是一个回调,需要有如下结构 double input_function(const double &x){返回(x*x);} 其中 x*x 是用户定义的计算,通常要复杂得多.我想使用 Rcpp 包装 cfunction 以便 R 用户可 ..
发布时间:2021-07-03 18:45:45 其他开发

无法在 R 中编译 RcppArmadillo

我在编译 RcppArmadillo 时遇到问题.这是我尝试安装软件包时的结果: >install.packages("RcppArmadillo")将软件包安装到‘/home/*****/R/i686-pc-linux-gnu-library/2.15’(因为'lib'未指定)尝试 URL 'http://cran.rstudio.com/src/contrib/RcppArmadillo_ ..
发布时间:2021-07-03 18:45:42 其他开发

Rcpp:为什么我不能在我定义的包中运行该函数?

我使用以下步骤来实现我自己的包: 1)我试着写一个非常简单的函数如下: #include 使用命名空间 Rcpp;//[[Rcpp::export]]int foo() {返回 6;} 2) 我用骨架把它做成一个包: Rcpp.package.skeleton("newpackage",example_code=FALSE,cpp_files=c("New.cpp")) 3) 我用命 ..
发布时间:2021-07-03 18:45:39 其他开发

Rcpp:错误:与请求的类型不兼容

我有这个 C++ 代码: #include #include 使用命名空间 Rcpp;外部“C"{SEXP gensampleRcpp2( 函数 rlawfunc, SEXP n) {Rcpp::RNGScope __rngScope;返回 Rcpp::List::create(Rcpp::Named("sample") = rlawfunc(n),Rcpp::Named("law.name") ..
发布时间:2021-07-03 18:45:36 其他开发

使累积和更快

我正在尝试对矩阵的每一列求累计和.这是我在 R 中的代码: testMatrix = matrix(1:65536, ncol=256);微基准(应用(testMatrix,2,cumsum),时间=100L);单位:毫秒expr min lq 平均中位数 uq max neval应用(testMatrix, 2, cumsum) 1.599051 1.766112 2.329932 2.153 ..
发布时间:2021-07-03 18:45:33 其他开发

创建模板函数以根据大小用另一个向量填充向量

Rcpp 中是否有一个基本函数: 如果向量的大小为 1,则完全填充单个值. 如果长度相同,则完全填充另一个向量. 如果向量的长度和向量的大小都不相同,则用 NA 值填充. 我已使用 NumericVector 作为示例将上述条件编写为下面的函数.如果 Rcpp 中没有执行上述操作的基本函数,则应该有一种方法来模板化该函数,以便给定任何类型的向量(例如 numeric、charact ..
发布时间:2021-07-03 18:45:28 其他开发

在 C++ 代码中使用列表作为输入并使用 Rcpp 调用(列表输入非常慢)

我正在尝试使用列表(R 对象)作为 C++ 函数的输入,然后使用 R 中的 Rcpp 调用它.此列表包含大量矩阵.我提供的代码是一个玩具示例.我已经编写了一个非常复杂的代码,但效率非常低.在下面的代码中,我想知道是否有一种从列表中提取矩阵的有效方法. 以下是我尝试过的代码.它有效,但它也告诉我下标值不是数组、指针或向量.我正在使用 R studio 编写此代码.当我编译代码时,它可以工作,但 ..
发布时间:2021-07-03 18:45:24 C/C++开发

使用 Rcpp 代码访问和修改类 arma::sp_mat 的稀疏矩阵的非零元素

我在使用 RcppArmadillo 访问和更新犰狳中 arma:sp_mat 类的稀疏矩阵的非零元素时遇到了麻烦.例如,在 Matrix R 包中,如果 B 是 dgCMatrix 类的稀疏矩阵,则可以通过执行以下操作访问和修改其非零元素: B@x[] = xx 其中 xx 是包含实际非零元素的新向量.有人可以帮我用 Armadillo 代码做同样的事情吗? 解决方案 不幸的是,没有 ..
发布时间:2021-07-03 18:45:21 其他开发

RInside 安装错误

我正在尝试在我的计算机中创建 R 开发环境.在最后一小时,我可以成功安装 RTools 和 RCpp.但是当我尝试最后一个元素 RInside 包时,出现以下错误.我可以看到原因是因为 g++ 或 make 无法识别包含空格的路径(程序文件 -> 文件)但是我如何更改 make 文件或电池问题是...编译后生成的 make 文件在哪里? >install.packages(c("RInside" ..
发布时间:2021-07-03 18:45:16 其他开发

如何在 Rcpp 中以数值方式计算积分

我已经搜索了一个小时来寻找进行数值积分的方法.我是 Rcpp 的新手,现在正在重写我的旧程序.我在 R 中所做的是: x=smpl.x(n,theta.true)Joint=function(theta){# 的关节距离#所有随机变量d=c()for(i in 1:n){d[i]=den(x[i],theta)}返回(产品(d)* dbeta(theta,a,b))}joint.vec=Vec ..
发布时间:2021-07-03 18:45:13 其他开发

Rcpp:从矩阵中消除一列和一行

我正在尝试创建一个函数,该函数接受一个矩阵 nxp 和一个索引 e,并返回通过消除 获得的子矩阵第 e-th 列和来自 X 的 e-th 行.我认为最简单的方法是创建一个 n -1 xp - 1 矩阵并插入十字形周围的角由其中的e-th行和列形成.使用 Corner 语法的 EigenRcpp 也可以使用相同的方法.似乎 Rcpp 不喜欢给 Ranges 赋值.我收到以下错误消息: 错误:非 ..
发布时间:2021-07-03 18:45:09 其他开发

Rcpp 中未使用的变量错误

在编译时,我收到了很多我很想解决的警告.大约有 30 个,但它们或多或少都像前三个: ==>rcpp::compileAttributes()* 更新了 src/RcppExports.cpp==>roxygen2::roxygenize('.', roclets=c('rd', 'collat​​e', 'namespace'))从包“roxygen_devtest"中的包“base"为“as ..
发布时间:2021-07-03 18:45:06 其他开发

将单个 Rcpp::IntegerVector 元素转换为字符

我必须将 Rcpp::IntegerVector 的各个元素转换为它们的字符串形式,以便我可以向它们添加另一个字符串.我的代码如下所示: #include 使用命名空间 Rcpp;//[[Rcpp::export]]Rcpp::String int_to_char_single_fun(int x){//获取包含函数的环境Rcpp::Environment base("package:base ..
发布时间:2021-07-03 18:45:04 其他开发

如何从 Rcpp 代码中的 R 包创建 S4 类的实例

Rcpp 试图从 Rcpp 代码中创建一个 sparseMatrix 的实例,让我不知所措. 我知道为了创建 S4 对象,我们使用所需类的名称作为字符串调用 S4 构造函数,例如: S4 foo() {S4 s("dgCMatrix");返回 s;} 但在我的情况下这失败了 getClass("dgCMatrix") 中的错误:“dgCMatrix"不是定义的类 我认为这是因为尚未加 ..
发布时间:2021-07-03 18:45:01 其他开发

“RcppArmadilloExtensions/sample.h"R 包构建步骤中的链接器错误

我正在制作一个 R 包,它在一些源文件中使用了 Rcpp::RcppArmadillo::sample() 函数.特别是,我在 4 个不同的 cpp 文件中使用了该函数,并且在每个文件中我添加了这一行 #include 以包含所需的头文件. 一切正常,直到我想通过命令 R CMD build mypackage 构建包.我收到 重复符号 错误,其中提到的头文件中定义的大多数函数都被列为重复符 ..
发布时间:2021-07-03 18:44:56 其他开发

从 Rcpp 调用 R 函数

我有一个关于通过 Rcpp 在 R 中集成 C++ 的非常基本的问题.假设我想在 C++ 中实现一个像这样的简单函数: inte = function(x, y, a, b){模型 = approxfun(x, y)返回(集成(模型,a,b)$价值)} 因此,一个非常基本的方法是根据需要尽可能多地调用 R 的函数“integrate": //[[Rcpp::export]]double in ..
发布时间:2021-07-03 18:44:53 其他开发

Rcpp:动态更新列表

我正在寻找动态更新列表的解决方案. #include 使用命名空间 Rcpp;//[[Rcpp::export]]列表测试(){列表L;List L1=List::create(12,45,22,44);L=Language("c",L,L1).eval();//更新,将L1的元素添加到L的背面.返回 L;} 以上不起作用,因为“List L;"使 L 成为空列表. 但是,如果我编写一个 ..
发布时间:2021-07-03 18:44:50 其他开发

在自动生成的 RcppExports.R 中导致检查错误的函数

我使用的是 Rcpp 0.12.11 和 R 3.4.0. 当我将 Rcpp 升级到 0.12.11 时,由 Rcpp::compileAttributes 自动生成的 R 文件 RcppExports.R 开始给我稍微不同的函数调用 run_graph_match 是否有一种简单的方法可以解释更改背后的原因? 后一个函数在检查R包时会导致错误.例如,诸如此类的错误符号“RGr ..
发布时间:2021-07-03 18:44:48 其他开发