R Rcpp定义qnorm函数

时间:2019-05-13 05:15:22

标签: c++ r distribution rcpp

我在使用Rcpp中的Rcpp调用qnorm时遇到问题

rnorm函数在R中可以正常工作:

library(Rcpp); p <- 0.8

# create rnorm_cpp function ----
cppFunction('NumericVector rnorm_cpp(int n, double mean, double sd) { 
return Rcpp::rnorm(n, mean, sd); }')

# test function ----
set.seed(1); n <- 10e3
mean(rnorm_cpp(n,2,3)) # returns ~ 2
sd(rnorm_cpp(n,2,3)) # returns ~ 3

但是,如果我对qnorm做同样的事情:

# create qnorm_cpp function ----
cppFunction('NumericVector qnorm_cpp(double p, double mean, double sd) { 
return Rcpp::qnorm(p, mean, sd); }')

我收到以下错误:Error in sourceCpp(code = code, env = env, rebuild = rebuild, cacheDir = cacheDir, : Error 1 occurred building shared library.

如何修改此代码以使其正常工作?谢谢。

我希望qnorm_cpp(p, 2, 3)的工作方式与qnorm(p, 2, 3)相同,在这种情况下,其产生的值为4.524864

0 个答案:

没有答案