使用带有lambda函数的RcppArmadillo each_col?

王建昌

根据Armadillo网站,您可以将lambda函数传入.each_col,例如

X.each_col( [](vec& a){ a.print(); } );

以下Rcpp似乎有错误,报告“预期表达式”

#include <RcppArmadillo.h>
// [[Rcpp::depends(RcppArmadillo)]]

using namespace Rcpp;
using namespace arma;

// [[Rcpp::export]]
arma::vec colCumSum(const arma::mat& X) {
  return X.each_col( [](const arma::vec& b){ b.cumsum(); } );  
}
德克·埃德比布特尔

实际上,您必须告诉R使用C ++ 11才能获得lambda支持。魔术线[[Rcpp::plugins("cpp11")]]使这一切都起作用:

但是一旦这样,我就遇到了问题cumsum()const那里也有太多东西。

因此,这里是一家简单的版本的工作与另一个lambda从文档-这只是打印。我也转向ivecimat一致性:

#include <RcppArmadillo.h>
// [[Rcpp::depends(RcppArmadillo)]]

// [[Rcpp::plugins("cpp11")]]

// [[Rcpp::export]]
arma::ivec colCumSum(arma::imat& X) {
  X.each_col( [](arma::ivec& a){ a.print(); } );
  return X.col(0);
}

/*** R
M <- matrix(1:16, 4, 4)
colCumSum(M)
*/

当您获取此资源时,它将生成并运行。您将需要计算出lambda用例,以实现此目的cumsum()

> sourceCpp("/tmp/foo.cpp")

> M <- matrix(1:16, 4, 4)

> colCumSum(M)
        1
        2
        3
        4
        5
        6
        7
        8
         9
        10
        11
        12
        13
        14
        15
        16
     [,1]
[1,]    1
[2,]    2
[3,]    3
[4,]    4
> 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用带有lambda函数的std :: bind

来自分类Dev

使用带有lambda函数的std :: bind

来自分类Dev

在带有boost :: function的std :: for_each中使用boost.lambda

来自分类Dev

在调用带有多个参数的函数时使用std :: for_each

来自分类Dev

如何使用.each()运行带有变量的函数,其中变量存储在数组中

来自分类Dev

使用带有lambda函数的map()格式化键值

来自分类Dev

如何使用defaultdict创建带有lambda函数的字典?

来自分类Dev

jQuery each()函数提交带有确认的表单

来自分类Dev

使用for_each和lambda函数从vector <int>减去变量

来自分类Dev

使用for_each和lambda函数从vector <int>减去变量

来自分类Dev

返回带有移动捕获的lambda函数

来自分类Dev

带有.NET Framework的AWS Lambda函数

来自分类Dev

带有图像的页面末尾的 Bootstrap col

来自分类Dev

审查将带有Lambda的C ++ for_each移植到Java

来自分类Dev

XSLT使用带有for-each选择的变量

来自分类Dev

MPL for_each使用带有更多参数的函子

来自分类Dev

XSLT使用带有for-each选择的变量

来自分类Dev

MPL for_each使用带有更多参数的函子

来自分类Dev

使用带有 $.each 的 Ajax 获取复选框的值

来自分类Dev

如何在带有列表的 for 循环中使用 .each()?

来自分类Dev

在python pandas中使用带有shift函数的lambda替换一些空元素

来自分类Dev

在Lambda函数中使用带有Node.js的https调用返回数据

来自分类Dev

如何在使用带有 lambda 表达式的 Pandas 应用函数时消除类型错误

来自分类Dev

使用 tidyeval 编程:tidyr::unite(col = !!col) 之后的 mutate 函数

来自分类Dev

借助async.each在foreach中调用同步函数(带有回调)

来自分类Dev

带有ES6箭头功能的jQuery .each()函数

来自分类Dev

在async.each的帮助下在foreach中调用同步函数(带有回调)

来自分类Dev

如何使用OpenCV在C ++中实现有效的im2col函数?

来自分类Dev

使用 .each() 函数时没有得到预期的结果

Related 相关文章

  1. 1

    使用带有lambda函数的std :: bind

  2. 2

    使用带有lambda函数的std :: bind

  3. 3

    在带有boost :: function的std :: for_each中使用boost.lambda

  4. 4

    在调用带有多个参数的函数时使用std :: for_each

  5. 5

    如何使用.each()运行带有变量的函数,其中变量存储在数组中

  6. 6

    使用带有lambda函数的map()格式化键值

  7. 7

    如何使用defaultdict创建带有lambda函数的字典?

  8. 8

    jQuery each()函数提交带有确认的表单

  9. 9

    使用for_each和lambda函数从vector <int>减去变量

  10. 10

    使用for_each和lambda函数从vector <int>减去变量

  11. 11

    返回带有移动捕获的lambda函数

  12. 12

    带有.NET Framework的AWS Lambda函数

  13. 13

    带有图像的页面末尾的 Bootstrap col

  14. 14

    审查将带有Lambda的C ++ for_each移植到Java

  15. 15

    XSLT使用带有for-each选择的变量

  16. 16

    MPL for_each使用带有更多参数的函子

  17. 17

    XSLT使用带有for-each选择的变量

  18. 18

    MPL for_each使用带有更多参数的函子

  19. 19

    使用带有 $.each 的 Ajax 获取复选框的值

  20. 20

    如何在带有列表的 for 循环中使用 .each()?

  21. 21

    在python pandas中使用带有shift函数的lambda替换一些空元素

  22. 22

    在Lambda函数中使用带有Node.js的https调用返回数据

  23. 23

    如何在使用带有 lambda 表达式的 Pandas 应用函数时消除类型错误

  24. 24

    使用 tidyeval 编程:tidyr::unite(col = !!col) 之后的 mutate 函数

  25. 25

    借助async.each在foreach中调用同步函数(带有回调)

  26. 26

    带有ES6箭头功能的jQuery .each()函数

  27. 27

    在async.each的帮助下在foreach中调用同步函数(带有回调)

  28. 28

    如何使用OpenCV在C ++中实现有效的im2col函数?

  29. 29

    使用 .each() 函数时没有得到预期的结果

热门标签

归档