溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

R語言中Rcpp類型List的示例分析

發(fā)布時間:2021-11-06 13:29:44 來源:億速云 閱讀:231 作者:小新 欄目:開發(fā)技術

這篇文章主要為大家展示了“R語言中Rcpp類型List的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“R語言中Rcpp類型List的示例分析”這篇文章吧。

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

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

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

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

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

    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的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

    向AI問一下細節(jié)

    免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

    AI