rcpp相关内容
我有一个来自下游库的 C 函数,我像这样在 C 中调用 result = cfunction(input_function) input_function 是一个回调,需要有如下结构 double input_function(const double &x){返回(x*x);} 其中 x*x 是用户定义的计算,通常要复杂得多.我想使用 Rcpp 包装 cfunction 以便 R 用户可
..
我在编译 RcppArmadillo 时遇到问题.这是我尝试安装软件包时的结果: >install.packages("RcppArmadillo")将软件包安装到‘/home/*****/R/i686-pc-linux-gnu-library/2.15’(因为'lib'未指定)尝试 URL 'http://cran.rstudio.com/src/contrib/RcppArmadillo_
..
我使用以下步骤来实现我自己的包: 1)我试着写一个非常简单的函数如下: #include 使用命名空间 Rcpp;//[[Rcpp::export]]int foo() {返回 6;} 2) 我用骨架把它做成一个包: Rcpp.package.skeleton("newpackage",example_code=FALSE,cpp_files=c("New.cpp")) 3) 我用命
..
我有这个 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")
..
我正在尝试对矩阵的每一列求累计和.这是我在 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
..
我有一个 5x5 矩阵,想找到列“1"和“3"之间最小值的索引.在 R 中,我会这样做: set.seed(1984)m
..
Rcpp 中是否有一个基本函数: 如果向量的大小为 1,则完全填充单个值. 如果长度相同,则完全填充另一个向量. 如果向量的长度和向量的大小都不相同,则用 NA 值填充. 我已使用 NumericVector 作为示例将上述条件编写为下面的函数.如果 Rcpp 中没有执行上述操作的基本函数,则应该有一种方法来模板化该函数,以便给定任何类型的向量(例如 numeric、charact
..
我正在尝试使用列表(R 对象)作为 C++ 函数的输入,然后使用 R 中的 Rcpp 调用它.此列表包含大量矩阵.我提供的代码是一个玩具示例.我已经编写了一个非常复杂的代码,但效率非常低.在下面的代码中,我想知道是否有一种从列表中提取矩阵的有效方法. 以下是我尝试过的代码.它有效,但它也告诉我下标值不是数组、指针或向量.我正在使用 R studio 编写此代码.当我编译代码时,它可以工作,但
..
我在使用 RcppArmadillo 访问和更新犰狳中 arma:sp_mat 类的稀疏矩阵的非零元素时遇到了麻烦.例如,在 Matrix R 包中,如果 B 是 dgCMatrix 类的稀疏矩阵,则可以通过执行以下操作访问和修改其非零元素: B@x[] = xx 其中 xx 是包含实际非零元素的新向量.有人可以帮我用 Armadillo 代码做同样的事情吗? 解决方案 不幸的是,没有
..
我试图在这个 发布.我只是在这里重复这个功能,这样阅读这篇文章的人就不必点击链接了. 库(内联)colMaxRcpp
..
我正在尝试在我的计算机中创建 R 开发环境.在最后一小时,我可以成功安装 RTools 和 RCpp.但是当我尝试最后一个元素 RInside 包时,出现以下错误.我可以看到原因是因为 g++ 或 make 无法识别包含空格的路径(程序文件 -> 文件)但是我如何更改 make 文件或电池问题是...编译后生成的 make 文件在哪里? >install.packages(c("RInside"
..
我已经搜索了一个小时来寻找进行数值积分的方法.我是 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
..
我正在尝试创建一个函数,该函数接受一个矩阵 nxp 和一个索引 e,并返回通过消除 获得的子矩阵第 e-th 列和来自 X 的 e-th 行.我认为最简单的方法是创建一个 n -1 xp - 1 矩阵并插入十字形周围的角由其中的e-th行和列形成.使用 Corner 语法的 EigenRcpp 也可以使用相同的方法.似乎 Rcpp 不喜欢给 Ranges 赋值.我收到以下错误消息: 错误:非
..
在编译时,我收到了很多我很想解决的警告.大约有 30 个,但它们或多或少都像前三个: ==>rcpp::compileAttributes()* 更新了 src/RcppExports.cpp==>roxygen2::roxygenize('.', roclets=c('rd', 'collate', 'namespace'))从包“roxygen_devtest"中的包“base"为“as
..
我必须将 Rcpp::IntegerVector 的各个元素转换为它们的字符串形式,以便我可以向它们添加另一个字符串.我的代码如下所示: #include 使用命名空间 Rcpp;//[[Rcpp::export]]Rcpp::String int_to_char_single_fun(int x){//获取包含函数的环境Rcpp::Environment base("package:base
..
Rcpp 试图从 Rcpp 代码中创建一个 sparseMatrix 的实例,让我不知所措. 我知道为了创建 S4 对象,我们使用所需类的名称作为字符串调用 S4 构造函数,例如: S4 foo() {S4 s("dgCMatrix");返回 s;} 但在我的情况下这失败了 getClass("dgCMatrix") 中的错误:“dgCMatrix"不是定义的类 我认为这是因为尚未加
..
我正在制作一个 R 包,它在一些源文件中使用了 Rcpp::RcppArmadillo::sample() 函数.特别是,我在 4 个不同的 cpp 文件中使用了该函数,并且在每个文件中我添加了这一行 #include 以包含所需的头文件. 一切正常,直到我想通过命令 R CMD build mypackage 构建包.我收到 重复符号 错误,其中提到的头文件中定义的大多数函数都被列为重复符
..
我有一个关于通过 Rcpp 在 R 中集成 C++ 的非常基本的问题.假设我想在 C++ 中实现一个像这样的简单函数: inte = function(x, y, a, b){模型 = approxfun(x, y)返回(集成(模型,a,b)$价值)} 因此,一个非常基本的方法是根据需要尽可能多地调用 R 的函数“integrate": //[[Rcpp::export]]double in
..
我正在寻找动态更新列表的解决方案. #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 成为空列表. 但是,如果我编写一个
..
我使用的是 Rcpp 0.12.11 和 R 3.4.0. 当我将 Rcpp 升级到 0.12.11 时,由 Rcpp::compileAttributes 自动生成的 R 文件 RcppExports.R 开始给我稍微不同的函数调用 run_graph_match 是否有一种简单的方法可以解释更改背后的原因? 后一个函数在检查R包时会导致错误.例如,诸如此类的错误符号“RGr
..