温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

R语言中Rcpp类型List的示例分析

发布时间:2021-11-06 13:29:44 来源:亿速云 阅读:206 作者:小新 栏目:开发技术

这篇文章主要为大家展示了“R语言中Rcpp类型List的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“R语言中Rcpp类型List的示例分析”这篇文章吧。

    当我们想将 Rcpp 中的多种类型的对象通过一个 return 函数返回时,此时就需要将我们的所有对象整理成一个 Rcpp::List 型,然后再进行返回。

    但相比于 R 中的 list(mat1 = mat1, mat2 = mat2)Rcpp 中的列表创建就相对复杂一些,需要使用 create() 函数,如下面例子所示:

    Rcpp::List ListFun(MatrixXd X) {
      Eigen::MatrixXd mat1, mat2;
      return List::create(Named("matrix1") = mat1, Named("matrix2") = mat2);
    }

    return 之后,我们想要在我们的 .cpp 文件中再调用这个 List(或者直接读取 R 中的 list 类型均可),这时我们应该怎么做呢?

    其实也非常简单,分两步即可:第一步创建 List,第二步分别创建 List 中的内容,对象类型对应上即可,如下所示:

    void TestFun(MatrixXd X, MatrixXd Y) {
      Rcpp::List result_x, result_y;
      result_x= ListFun(X);
      result_y= ListFun(Y);
      
      MatrixXd mat1_x = result_x["matrix1"];
      MatrixXd mat1_y = result_y["matrix1"];
      MatrixXd mat2_x = result_x["matrix2"];
      MatrixXd mat2_y = result_y["matrix2"];
    }

    以上是“R语言中Rcpp类型List的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI