4

问题是我有一个变量arma::mat prob_vec并且想要与rmultinom(1, 1, prob_vec)R 中相同的东西。

我找到了rmultinomRcppArmadillo 提供的函数有一个奇怪的参数要求,这与 R 中的不同!所以它不会通过编译。

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

非常感谢!

4

1 回答 1

7

您在这里的友好社区合著者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 对向量中的数据做同样的事情.

于 2013-02-01T19:20:05.577 回答