抱歉,我是初学者,但我遇到了这个问题。我只是在寻找从C ++中调用R中的rnorm函数的最简单方法。我已经查看了rcpp包,但即使在阅读完所有教程之后我仍然非常困惑。我很感激有人带着我的步骤走过我作为有编程经验而不是rcpp包的人。
答案 0 :(得分:7)
现在,您可以从R API获取R::rnorm()
作为标量函数的接口(使用合理的Rcpp版本),当然还有{{1的矢量化版本在Rcpp本身:
rnorm
在这里,我们使用新的Rcpp属性添加中的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>
帮助器动态编译单行C ++函数。
答案 1 :(得分:1)
从本指南中http://cran.r-project.org/web/packages/Rcpp/vignettes/Rcpp-quickref.pdf
看起来你可以用
来调用它rnorm(20)
您是否正在寻找R库中随机数的正态分布?