R包制作後出現not available for錯誤問題解決解決
有一段時間沒有做過 R 包瞭今天在嘗試制作 R 包時,制作、生成、載入都沒有遇到問題,但在載入 R 包內用 Rcpp
寫得函數時出現瞭如下問題(做的包名叫 RI
,調用的函數也是 RI
):
Error in .Call("_RI_RI", PACKAGE = "RI", X, Y) : "_RI_RI" not available for .Call() for package "RI"
後在實驗室小夥伴的幫助下成功解決。
解決方法
找到 NAMESPACE
文件,默認隻有下述的語句:
exportPattern("^[[:alpha:]]+")
我們在其下方添加如下語句(再次提醒,做的包名叫 RI
,大傢替換成自己相應的包名即可):
useDynLib(RI, .registration = TRUE)
之後再次制作、生成、載入與調用函數,發現報錯信息發生瞭變化:
Error in RI(matrix(1:6, 3), matrix(1:6, 2)) : function 'enterRNGScope' not provided by package 'Rcpp'
這時我們再嘗試在 NAMESPACE
文件添加如下語句即可:
import(Rcpp)
最終成功解決!
NAMESPACE 文件最終形態
exportPattern("^[[:alpha:]]+") import(Rcpp) useDynLib(RI, .registration = TRUE)
以上就是R包制作後出現not available for錯誤問題解決解決的詳細內容,更多關於制作R包出現錯誤問題解決的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- Rcpp入門R代碼提速方法過程
- R語言技巧Rcpp與Eigen庫之間的相互轉換
- Rcpp和RcppArmadillo創建R語言包的實現方式
- R語言學習初識Rcpp類型List
- R語言學習Rcpp基礎知識全面整理