Usando dnorm com RcppArmadillo
DeR
Estou tentando corrersourceCpp
neste arquivo:
#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;
}
Vejoesta resposta para ver de onde consegui a função. Isso gera o erro:
no matching function for call to 'dnorm4'
Qual é o erro exato que eu esperava evitar usando o loop, pois a resposta mencionada menciona quednorm
é vetorizado apenas em relação ao seu primeiro argumento. Receio que a resposta seja óbvia, mas tentei adicionarR::
antes de odnorm
, tentei usarNumericVector
ao invés devec
, sem utilizarlog()
em frente. Sem sorte No entanto, adicionarR::
antesdnorm
produz um erro separado:
too few arguments to function call, expected 4, have 3; did you mean '::dnorm4'?
Qual énão corrigido substituindodnorm
acima comR::dnorm4
.