如何在C ++中调用r函数rnorm

时间:2013-03-05 04:36:16

标签: c++ r rcpp

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

2 个答案:

答案 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库中随机数的正态分布?