-1

抱歉,我是初学者,但我遇到了这个问题。我只是在寻找从 C++ 调用 R 中的 rnorm 函数的最简单方法。我已经查看了 rcpp 包,但即使在阅读了所有教程之后,我仍然很困惑。作为一个对编程有经验但对 rcpp 包没有经验的人,我将不胜感激。

4

2 回答 2

7

您现在可以从 R API 获得R::rnorm()函数的接口(使用相当新的 Rcpp 版本),并且rnormRcpp 本身当然有矢量化版本:

R> cppFunction('double scalarN(double m, double s) { return R::rnorm(m, s); }')
R> set.seed(42); scalarN(0,1);
[1] 1.37096
R> cppFunction('NumericVector vectorN(int N) { return rnorm(N); }')
R> set.seed(42); vectorN(3);
[1]  1.370958 -0.564698  0.363128
R> 

cppFunction在这里,我们使用来自较新的 Rcpp 属性添加的帮助器即时编译了单行 C++ 函数。

于 2013-03-05T12:21:40.313 回答
1

从本指南:http ://cran.r-project.org/web/packages/Rcpp/vignettes/Rcpp-quickref.pdf

看起来你可以用它来调用它

rnorm(20)

您是否正在寻找 R 库中随机数的正态分布?

于 2013-03-05T04:45:39.680 回答