これは、sourceCppからRcpp Moving from sourceCpp to a package w/Rcppのパッケージへの移動に関するポストに関連しています。しかし、私はMac OS X 10.10.4でRcppArmadilloを使用しており、パッケージを動作させるのに問題がありました。次のようにsourceCppで動作するファイルは次のとおりです。Rcppが機能しなかったのw /プロジェクト>パッケージを作成>プロジェクトを使用して新しいプロジェクトを作成するために、R Studioを使用しようとするとソースCppからRcppArmadilloを使用したパッケージに移動
#include <RcppArmadillo.h>
// [[Rcpp::depends(RcppArmadillo)]]
using namespace Rcpp;
// [[Rcpp::export]]
arma::mat cholcalcCpp(arma::mat& SS, arma::umat& Aadj){
int p = SS.n_rows;
arma::mat L(p,p);
arma::mat D(p,p);
L = arma::eye(p,p);
D = arma::eye(p,p);
return (L*sqrt(D));
}
どちらか私はというエラーを取得保管するのでコマンドarmaは認識されませんでした。私は#include <RcppArmadillo.h>
をRccpExports.cppファイルに追加しようとしましたが、Rstudioはビルドとリロードを行うたびにその行を削除します。誰でも.cppファイルからRccpArmadilloパッケージに移動する方法を提案できますか?ありがとう。
'DESCRIPTION'ファイルに' LinkingTo:Rcpp、RcppArmadillo'がありますか? – nrussell
'RcppArmadillo.package.skeleton()'からも始めることができます。 –
@Coatlessと@Dirkに感謝します。私はそれをビルドしてロードすることができましたが、Rから関数を呼び出そうとすると次のエラーが発生します: '.Primitive(" Call ")のエラー(、S、adj ): シンボルアドレスとしてNULL値が渡されました。これを引き起こす原因は何ですか? –