问题是我有一个变量arma::mat prob_vec,想要rmultinom(1, 1, prob_vec)在R中等效的东西.
我发现rmultinomRcppArmadillo提供的函数有一个奇怪的参数要求,它与R中的不同!所以它不会通过编译.
我只想知道如何在RcppArmadillo中绘制所需的样本,或者等效地在Armadillo中绘制.如果我需要获取指针或转换我的prob_vec变量,请告诉我如何.
非常感谢!
你友好的邻居在RcppArmadillo这里的共同作者:我可以向你保证它不提供rmultinom,但Rcpp确实如此.事实上,它只是简单地传递给R本身,快速grep告诉你:
inline void rmultinom(int n, double* prob, int k, int* rn)
{ return ::rmultinom(n, prob, k, rn); }
Run Code Online (Sandbox Code Playgroud)
因此,我建议您首先针对R API编写一个五行C程序,以确保您知道如何rmultinom执行您想要的操作,然后使用Rcpp和RcppArmadillo对矢量中的数据执行相同的操作.