【问题标题】:How do I draw multinomial distributed samples with RcppArmadillo?如何使用 RcppArmadillo 绘制多项分布样本?
【发布时间】:2013-02-01 19:07:24
【问题描述】:

问题是我有一个变量 arma::mat prob_vec 并且想要在 R 中与 rmultinom(1, 1, prob_vec) 等效。

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

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

非常感谢!

【问题讨论】:

    标签: r rcpp armadillo


    【解决方案1】:

    这里是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 做同样的事情在你的向量中的数据上。

    【讨论】:

    • 非常感谢,德克!我敢肯定,您是我见过的最友好、最乐于助人(如果您认为自己是)的顾问之一。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多