有什么方法可以有效地将用于将两个向量相乘的 outer() 函数从 R base 转换为 RcppArmadillo? 我试图这样做,但它根本没有效率。 举个例子: 使用 R base 结果慢了 2 倍。 我确信这可以通过矩阵乘法来完成,知道怎么做吗? ...
有什么方法可以有效地将用于将两个向量相乘的 outer() 函数从 R base 转换为 RcppArmadillo? 我试图这样做,但它根本没有效率。 举个例子: 使用 R base 结果慢了 2 倍。 我确信这可以通过矩阵乘法来完成,知道怎么做吗? ...
我正在使用变系数模型运行模拟,但有一些调整。 没有 R package 可以满足我的需求。 我的代码运行速度不够快。 我期待让vcm function 运行得更快 到目前为止我所做的是剖析代码并查看缓慢的部分使用sapply和lapply而不是for循环,但没有显着差异如何使用代码? 这是一个使用代 ...
我最近在 Rcpp 中写了一个计算密集型 function。 现在,我想将这段代码移植到 R package。但是,我注意到当在 R package 中运行时,代码要慢很多(~100 倍)。 我已经在这里读到,这可能与 function 的调用方式有关。 但是,这不是一次性成本。 相反,它与 Rcp ...
在 Rcpp/RcppArmadillo 我想做以下事情: 从一个 nxn 矩阵 A,我想提取一个子矩阵 A[-j, -j] 其中 j 是一个索引向量: 似乎此功能在 Rcpp 或 RcppArmadillo 中不可用 - 抱歉,如果我忽略了某些内容。 R 中的一种方法是 这将延续到 RcppAr ...
我希望构建一个 package,但我使用 RcppArmadillo 编写了其中的一部分,现在我正在承受后果。 我正在使用 roxygen2 和 devtools 来帮助我描述和命名空间。 我在 R / Ubuntu 编码。 在说明中,我包括两行来加载包: 取决于:R (>= 3.4.4), ...
我有一个矩阵 A 和一个向量 b,我想为 x 求解线性系统 Ax = b。 问题是 A 经常是单数的。 我在 R 中使用了 RcppArmadillo package 来执行此操作。 基本上我会 但是,我收到错误消息“pinv(): svd failed”。 有没有办法解决这个问题? 我可以使用不同 ...
我开发了一个双链马尔可夫蒙特卡罗 model,旨在预测优秀的 package Rcpp 中的贷款组合,但在尝试使用 RcppParallel 实现这些函数的并行版本时遇到了问题。 到目前为止,我的尝试都是基于这个小插图( https://gallery.rcpp.org/articles/para ...
我被困在尝试使用 Rcpp Armadillo 查找向量x中元素的索引,其元素也在另一个向量vals中。 x和vals都是arma::uvec类型。 在 R 中,这很简单: 我已经扫描了犰狳文档,而find()显然是我的第一次尝试; 但它没有用,因为vals是一个向量。 我也尝试过inter ...
我有一个包含概率的矩阵,四列中的每一列对应一个分数(从 0 到 4 的整数)。 我想使用该行中包含的概率作为采样权重为每一行采样一个分数。 在某些列不包含概率(取而代之的是 NA)的行中,抽样框架仅限于包含概率的列(及其相应的分数)(例如,对于具有 0.45、0.55、NA、NA 的行,0 或 1 ...
我在 R 包中使用 RcppArmadillo。 当对称矩阵未能通过eig_sym()中的对称性测试时,我想抑制由于数值精度而在 C++ 函数中出现的警告消息。 我相信这是一个精度问题,因为我保存了一些遇到此警告的矩阵并使用isSymmetric()在 R 中对其进行了测试,并且它们通过了。 我尝 ...
考虑以下 C++ 代码 // [[Rcpp::depends(RcppArmadillo)]] #include <RcppArmadillo.h> // [[Rcpp::export(rng = false)]] void possible_bug(arma::vec &x, ...
我是构建 R 包的新手,所以我需要一些帮助 :) 我正在使用 Rcpp/arrayfire 并希望在我的 makevars 文件中有一行来检测用户的 R 版本。 目前我将它设置为 4.0,但我预计用户会有不同的 R 版本。 如果这个问题已经得到解答,我很抱歉没有找到一个! 这是我在 makeva ...
l 想从函数RcppArmadillo返回不同类型的对象。 例如,下面是我尝试使用std::tuple返回向量和函数的代码。 但是,我收到以下错误: 我也尝试按照此处的建议使用List::create失败: 如何将多个对象从 Rcpp 返回到 R? 如何正确返回不同类型的对象并修复 ...
在一个应用程序中,我使用List来包含一些变量( double , arma::mat等类型),然后将这个列表中的arma::mat组件直接取出来进一步使用,例如矩阵加法。 但是,会抛出一些错误。 下面是一个玩具示例,它会抛出与我遇到的相同的错误:// [[Rcpp::depends(RcppArm ...
我一直是 RcppArmadillo 的用户,但自从将我的操作系统升级到 Monterey 版本 12.3 后,我一直无法通过 sourceCpp 编译任何程序。 出现以下错误: 从这里的帖子来看,这似乎与 static 和动态链接有关,但我真的不知道。 ...
我正在尝试循环运行fastLmPure ,避免复制大型矩阵。 我已经将矩阵预先分配到我需要的大小,它只是我需要更改值的最后一列。即它不会增长。 我把它归结为下面的最小案例,它们说明了我遇到的问题。 我希望矩阵的修改就地完成,但我得到了一个副本,因为引用计数器已经通过调用 Rcpp 增加了。 Rc ...
我正在尝试在我的 MacBook MacOS Monterey(版本 12.2.1)M1 芯片笔记本电脑上安装 Fortran。 我从这个网站(gfortran 12-Dec 18, 2021)下载并安装了 gfortran: https://github.com/fxcoudert/gfortr ...
我经常在 c++ 中使用std::map<std::string, arma::vec>所以我编写了自定义as和wrap模板来处理 R-C++ 转换。 下面是一个最小的reprex: 上面的工作就像一个魅力,所以我试图将这些东西带入 package。 我做了一个最小的 package 来 ...
我有以下玩具数据 - 根据这些数据,我正在创建两个模型,如下所示 - 最后,我正在使用anova比较这些模型 由于我在大约 100 万个单独的数据集上运行这些测试,因此我想提高性能并且不想使用lm和anova函数。 为了加快计算速度,我使用RcppArmadillo::fastLM代替lm但没有可用 ...
出于性能原因,我正在尝试使用 function RcppArmadillo::fastLM而不是lm 。 这是我对lm的 function 调用 由于 lm 大部分时间都用于解释公式,因此我不想使用公式。 相反,我想把它变成一些东西—— 但我不确定如何添加+ 0 ,如公式所示。 我试过以下 但这给出 ...