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

How to call the r function rnorm in C++

本文关键字:函数 rnorm 调用 c++      更新时间:2023-10-16

对不起,我是一个初学者,但我有这个问题的麻烦。我只是在寻找从c++中调用R中的rnorm函数的最简单的方法。我已经研究了rcpp包,但即使在阅读了所有教程之后,我仍然非常困惑。如果有人对编程有经验,但对rcpp包没有经验,我将非常感激。

现在您可以从R API(使用一个相当新的Rcpp版本)获得R::rnorm()作为标量函数的接口,当然在Rcpp本身中也有rnorm的矢量化版本:

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> 

在这里,我们使用来自较新的Rcpp Attributes的cppFunction helper动态地编译了一行c++函数。

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

看起来你可以用

来调用它
rnorm(20)

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