您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“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的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。