如何使用RcppArmadillo绘制多项分布式样本?

时间:2013-02-01 19:07:25

标签: r rcpp armadillo

问题是我有一个变量arma::mat prob_vec,并希望在R中等同于rmultinom(1, 1, prob_vec)

我发现RcppArmadillo提供的rmultinom函数有一个奇怪的参数要求,它不同于R!所以它不会通过编译。

我只想知道如何在RcppArmadillo中绘制所需的样本,或者等同于Armadillo。如果我需要获取指针或转换我的prob_vec变量,请告诉我如何。

非常感谢!

1 个答案:

答案 0 :(得分:5)

你友好的邻居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来做载体中的数据也是如此。