Использование dnorm с RcppArmadillo
ОтR
Я пытаюсь убежатьsourceCpp
в этом файле:
#include <RcppArmadillo.h>
// [[Rcpp::depends(RcppArmadillo)]]
using namespace arma;
using namespace Rcpp;
// [[Rcpp::export]]
vec dnormLog(vec x, vec means, vec sds) {
int n = x.size();
vec res(n);
for(int i = 0; i < n; i++) {
res[i] = log(dnorm(x[i], means[i], sds[i]));
}
return res;
}
Увидетьэтот ответ чтобы увидеть, откуда я получил функцию. Это выдает ошибку:
no matching function for call to 'dnorm4'
Какую именно ошибку я и надеялся предотвратить с помощью цикла, поскольку в указанном ответе упоминается, чтоdnorm
только векторизован относительно своего первого аргумента. Боюсь, ответ очевиден, но я попытался добавитьR::
передdnorm
попробовал с помощьюNumericVector
вместоvec
, без использованияlog()
спереди. Неудачно. Тем не менее, добавивR::
доdnorm
выдает отдельную ошибку:
too few arguments to function call, expected 4, have 3; did you mean '::dnorm4'?
Которыйне исправлено заменойdnorm
выше сR::dnorm4
.