rcpp相关内容

从 R 对象中提取 long[]

我正在尝试为一些基于 C 的稀疏矩阵处理代码制作一个包装器(参见 上一个问题).为了调用主力 C 函数,我需要创建一个如下所示的结构: struct smat {长排;长列;长值;/* 非零条目总数.*/长*指针;/* 对于每个列(加 1),第一个非零条目的索引.*/长*rowind;/* 对于每个 nz 条目,行索引.*/双*值;/* 对于每个 nz 条目,值.*/}; 这些很好地对应于 d ..
发布时间:2021-07-03 18:44:41 其他开发

在 Rcpp 中公开类 - 工厂而不是构造函数

有一个类我必须移植到 R.我将它作为 Rcpp 模块公开.但是,我还需要在 R 之外使用该类.我的意思是我想用谷歌测试来测试这门课.为了编译测试,该类不得使用 Rcpp 中的任何内容. 不幸的是,创建类实例的函数必须具有相当灵活的参数列表.我想使用命名参数,因为您可以选择指定许多参数.出于这个原因,我不能声明在 R 中有任何用处的构造函数.如果我可以定义一个作为工厂方法执行的函数,那就没问题 ..
发布时间:2021-07-03 18:44:38 其他开发

为 Windows 设置 Rcpp GSL

我正在尝试为 Windows 设置 Rcpp GSL.. 我阅读了很多关于这个主题的帖子,但我已经有一段时间找不到解决方案了.. 提前抱歉.. 所以我在 Windows 8.1 上运行 R 3.1.Rcpp 和 Rcpp Armadillo 都工作正常.. R 版本 3.1.0 (2014-04-10)平台:x86_64-w64-mingw32/x64(64位)语言环境:[1] LC_CO ..
发布时间:2021-07-03 18:44:36 其他开发

Rcpp 快速统计模式功能,具有任意类型的矢量输入

我正在尝试为 R 构建一个超快速模式函数,用于聚合大型分类数据集.该函数应采用所有支持的 R 类型的向量输入并返回模式.我已阅读这篇文章、本帮助页面等,但我无法使该函数接受所有 R 数据类型.我的代码现在适用于数字向量,我依赖于 Rcpp 糖包装函数: #include 使用命名空间 Rcpp;//[[Rcpp::export]]int Mode(NumericVector x, bool na ..
发布时间:2021-07-03 18:44:33 C/C++开发

为什么 rasterToPoints 在第一次调用时产生错误而不是第二次调用?

我有一些代码可以遍历研究 ID 列表 (ids) 并将它们转换为单独的多边形/空间点.在第一次执行循环时,它会产生以下错误: (函数(x)中的错误:尝试应用非函数 这是来自 raster::rasterToPoints 函数.我已经查看了此函数的帮助部分中的示例,并且传递 fun=NULL 似乎是一种可接受的方法(过滤掉所有 NA 值).无论如何,所有值都等于 1,所以我尝试传递一个像 ..
发布时间:2021-07-03 18:44:30 其他开发

在 Rcpp 中编译多个源文件

我有以下目录结构 my_func- my_func_r.cpp- my_func.c- my_func.h- my_func_test.c- 矩阵/- 矩阵.h- 矩阵.c matrix 目录在matrix.h 中包含一些矩阵结构,在matrix.c 中包含一些初始化、自由、打印等功能.my_func.h 文件类似于 #include #include #include #include " ..
发布时间:2021-07-03 18:44:27 C/C++开发

RcppModules:手动构建/向 R 公开 C+ 类

目标是包装相当大的现有 C++ 类集合,以便从 R 调用.第一种方法是手动定义 R 引用类并调用“SEXP 包装"入口点 - 这工作正常,没有问题.我目前正在评估的另一种方法是 RcppModules.我可以成功地将它与玩具示例 in R 一起使用 - 使用 Rcpp::SourceCPP.但是在手动执行此操作时遇到麻烦.示例: //---example.cpp#include "Rcpp.h" ..
发布时间:2021-07-03 18:44:24 C/C++开发

使用 Rmath.h 中的 pnorm 和 Rcpp

我正在尝试使用 pnorm 和 qnorm 等函数使用 Rcpp 编写一段 C++ 代码.我可以将这些的 Rcpp 糖版本用于矢量,如 https://stackoverflow.com/a/9738848/567015,但我不需要在向量上执行此操作,而只需在双精度上执行此操作. 如果我理解正确,我可以使用 Rf_ 前缀从 Rmath.h 获取标量版本.但是,Rf_pnorm 不起作用: ..
发布时间:2021-07-03 18:44:21 其他开发

为多个会话保留 XPtr

我有一个 R 函数,它创建一个 Primebase Cpp 类,然后返回一个 XPtr 指针. 由于构建过程需要大量时间,我想将 Primebase 的实例保存到我的会话中,以便下次打开 RI 时可以直接访问 Primebase 实例. 不幸的是,一旦我关闭 R 并且 XPtr 变成一个 空指针,底层对象就会被删除. 有没有办法阻止 R 删除对象或以任何其他方式保存底层对象? ..
发布时间:2021-07-03 18:44:15 C/C++开发

一个包内的rcpp omp_set_num_threads

我使用 Rcpp 和 OpenMP 编写了以下简单示例,当我从 RStudio 获取 cpp 文件时,该示例工作正常: #include #include //[[Rcpp::plugins(openmp)]]使用命名空间 Rcpp;//[[Rcpp::export]]NumericMatrix my_matrix(int I, int J, int nthreads) {数值矩阵 A(I,J) ..
发布时间:2021-07-03 18:44:12 C/C++开发

在 Rcpp(Eigen) 中的 NumericVector/Matrix 和 VectorXd/MatrixXd 之间转换以执行 Cholesky 求解

编辑:从下面德克的回答中得到一些线索,我解决了这个问题,现在问题正文中的解决方案. 我确定这必须在某处记录,但我的谷歌技能让我失望. 我正在开发一个我认为不需要的 Rcpp 包对 Eigen 的依赖,所以我非常广泛地使用 NumericVector/Matrix.但是,我现在需要一个 Cholesky decomp/solve:我知道如何做到这一点使用 RcppEigen 但我需要 V ..
发布时间:2021-07-03 18:44:09 其他开发

Rcpp分位数实现

我有一个包含 NumericVector x 的 Rcpp double.我想在 Rcpp 代码流中获得此类 x 的 .95 分位数.我不知道我怎样才能得到它.是否有 RcppArmadillo 实现? 解决方案 我不是 Rcpp 专家,我的功能可能需要很多改进,但似乎您可以轻松创建自己的Rcpp 分位数函数(由于偏斜的可能性很大,并且在非整数索引上存在索引问题,因此在小向量上不太准确,但 ..
发布时间:2021-07-03 18:44:06 其他开发

Rcpp:从 Rcpp 中的包调用 C 函数

我想用 Rcpp 编写一个 C++ 函数,该函数使用包 hypred 中的 C 函数,该包位于 CRAN 这里. 我阅读了在 Rcpp 中使用其他包中的 C 函数,但不明白这是否适用于我,如果适用,该怎么做. 所需的函数位于源文件 /src/hypredRoutines.c 中,名为 meiosisFUNAllChr. 到目前为止我根据这个 SO 问题做了什么这里 是: 我 ..
发布时间:2021-07-03 18:44:03 其他开发

使用 Rcpp Sugar 将均值和标准差传递给 dnorm()

我正在将一些 R 代码转换为 Rcpp 代码,并且需要计算给定均值向量和标准差向量的观察向量的似然性.如果我假设均值为 0 且标准差为 1,我可以编写此函数(运行此函数需要加载 'inline' 和 'Rcpp' 包), dtest1 = cxxfunction(signature( x = "numeric"),'Rcpp::NumericVector xx(x);return::wrap(d ..
发布时间:2021-07-03 18:44:00 其他开发

如何使用 Rcpp 注册本机例程?

我正在编写一个 Bioconductor 包.为此,它需要通过 BiocCheck. 我使用 Rcpp 和 Rstudio 使 C++ 代码可用于 R 使用标签 //[[Rcpp::export]] 和 Rcpp 类,而不是 SEXP 类.Rstudio 自动生成 Rcpp_export.cpp 和 Rcpp_export.R 并且它工作正常. 然而,BiocCheck 对此表示不满: ..
发布时间:2021-07-03 18:43:54 C/C++开发

如何使用默认参数导出 Rcpp 类方法

我有一个 c++ 类 myClass,它有一个方法 foo(int x=0) 并且它有一个参数 x,默认值为 0.c++ 类可以通过 导出到R RCPP_MODULE(my_module) {类_( "myClass" ).构造函数().method( "foo", &myClass::foo );} 但是,在 R 中,我无法在不指定 x 的值的情况下调用 myClass$foo.无论默认值 ..
发布时间:2021-07-03 18:43:50 其他开发

如何使用 Rcpp 将 C 结构从 C 库暴露给 R

我正在尝试将 C 库中的 C 结构公开到 R 中.例如: struct A {整数标志;//...} 库提供API来构造和销毁A是很常见的: A* initA();void freeA(A* a); 感谢 RCPP_MODULE,不用考虑析构函数就很容易暴露它: #include 使用命名空间 Rcpp;RCPP_EXPOSED_CLASS(A)RCPP_MODULE(A) {class ..
发布时间:2021-07-03 18:43:48 其他开发