У меня проблемы с вызовом 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