问题是我有一个变量 arma::mat prob_vec
并且想要与 R 中的 rmultinom(1, 1, prob_vec)
等效的东西。
我发现 RcppArmadillo 提供的 rmultinom
函数有一个奇怪的参数要求,这与 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 对你的数据做同样的事情。向量。关于r - 如何使用 RcppArmadillo 绘制多项分布样本?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14653336/