欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

R語(yǔ)言學(xué)習(xí)初識(shí)Rcpp類型List

 更新時(shí)間:2021年11月06日 11:12:59   作者:Kanny廣小隸  
這篇文章主要為大家介紹了R語(yǔ)言中Rcpp的類型List的基礎(chǔ)學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪

當(dāng)我們想將 Rcpp 中的多種類型的對(duì)象通過一個(gè) return 函數(shù)返回時(shí),此時(shí)就需要將我們的所有對(duì)象整理成一個(gè) Rcpp::List 型,然后再進(jìn)行返回。

但相比于 R 中的 list(mat1 = mat1, mat2 = mat2) ,Rcpp 中的列表創(chuàng)建就相對(duì)復(fù)雜一些,需要使用 create() 函數(shù),如下面例子所示:

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

return 之后,我們想要在我們的 .cpp 文件中再調(diào)用這個(gè) List(或者直接讀取 R 中的 list 類型均可),這時(shí)我們應(yīng)該怎么做呢?

其實(shí)也非常簡(jiǎn)單,分兩步即可:第一步創(chuàng)建 List,第二步分別創(chuàng)建 List 中的內(nèi)容,對(duì)象類型對(duì)應(yīng)上即可,如下所示:

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語(yǔ)言學(xué)習(xí)初識(shí)Rcpp類型List的詳細(xì)內(nèi)容,更多關(guān)于R語(yǔ)言Rcpp初識(shí)List類型的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論