问题是我有一个变量arma::mat prob_vec
并且想要与rmultinom(1, 1, prob_vec)
R 中相同的东西。
我找到了rmultinom
RcppArmadillo 提供的函数有一个奇怪的参数要求,这与 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); }
所以我建议你首先针对 R API 编写一个五行 C 程序,以确保你知道如何rmultinom
做你想做的事情,然后使用 Rcpp 和 RcppArmadillo 对向量中的数据做同样的事情.