2013-02-01 4 views
3

문제는 내가 변수 arma::mat prob_vec이 나는 ​​RcppArmadillo에서 제공하는 rmultinom 기능을 발견 RcppArmadillo를 사용하여 다항식 분산 샘플을 그릴 방법은 무엇입니까?

R.

에서 rmultinom(1, 1, prob_vec)에 해당 뭔가를 원하는 것입니다 R에 그와 다른 이상한 인수 요구 사항이! 그래서 컴파일을 통과하지 못할 것입니다.

나는 RcppArmadillo 또는 Armadillo에서 원하는 샘플을 그리는 방법을 알고 싶다. 포인터를 가져 오거나 변수 prob_vec을 변환해야하는 경우 어떻게해야합니까?

감사합니다.

답변

4

친숙한 이웃 RcppArmadillo의 공동 작성자 : 여기에 rmultinom을 제공하지 않지만 Rcpp는 제공한다는 것을 확신 할 수 있습니다. 사실, 그것은 단순히 R 자체에 빠른 grep 당신이 말한 것처럼 통과 :

inline void rmultinom(int n, double* prob, int k, int* rn) 
     { return ::rmultinom(n, prob, k, rn); } 

그래서 내가 제안 첫 번째 방법을 알고 있는지 확인하기 위해 R의 API에 대한 다섯 라인 C 프로그램을 작성 rmultinom을 사용하여 원하는 작업을 수행 한 다음 Rcpp와 RcppArmadillo를 사용하여 벡터의 데이터에서 동일한 작업을 수행하십시오.

+3

덕분에, 더크! 나는 당신이 내가 만난 컨설턴트 중 가장 친절하고 도움이되는 (자신을 밝혀낸다면) 도움이 될 것이라고 확신합니다. – Clavichord