R Rcpp определить функцию qnorm - PullRequest
0 голосов
/ 13 мая 2019

У меня проблемы с вызовом qnorm с использованием Rcpp в R

Функция 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...