服务器之家

服务器之家 > 正文

R语言学习初识Rcpp类型List

时间:2022-01-19 13:57     来源/作者:Kanny广小隶

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

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

?
1
2
3
4
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 中的内容,对象类型对应上即可,如下所示:

?
1
2
3
4
5
6
7
8
9
10
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的详细内容,更多关于R语言Rcpp初识List类型的资料请关注服务器之家其它相关文章!

原文链接:https://kanny.blog.csdn.net/article/details/102814882

标签:

相关文章

热门资讯

蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整 2021-08-24
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
返回顶部